r = requests.get('https://www.yelp.com/biz/social-brew-cafe-pyrmont') soup = BeautifulSoup(r.text, 'html.parser') regex = re.compile('.*comment.*') results = soup.find_all('p', {'class':regex}) reviews = [result.text for result in results] import numpy as np import pandas as pd df = pd.DataFrame(np.array(reviews), columns=['review']) df['review'].iloc[0] def sentiment_score(review): tokens = tokenizer.encode(review, return_tensors='pt') result = model(tokens) return int(torch.argmax(result.logits))+1 sentiment_score(df['review'].iloc[1]) df['sentiment'] = df['review'].apply(lambda x: sentiment_score(x[:512])) print(df) print(df['review'].iloc[3]) 解释
时间: 2024-04-15 16:24:48 浏览: 160
python requests.get带header
这段代码是爬取一个网页上的评论,并对评论进行情感分析。首先,使用requests库获取网页的内容。然后,使用BeautifulSoup库解析网页内容。接着,使用正则表达式找到所有包含评论的`<p>`标签。然后,将这些评论存储在一个DataFrame中,并取出第一个评论进行情感分析。情感分析的函数`sentiment_score`使用了一个预训练的模型,并将评论转换为tokens后输入模型,得到情感分析的结果。最后,将情感分析结果存储在DataFrame中,并打印出整个DataFrame和第四条评论。
阅读全文