python爬取div标签 class为bet-main bet-main-bg中的table标签class为bet-tb bet-bt-dg中的tbody标签,在找tr标签里面的td标签,打印出每个tr标签里的td中的a标签文本
时间: 2023-02-28 15:54:13 浏览: 76
您可以使用 Python 的第三方库 BeautifulSoup 来实现爬取。下面是一个简单的代码示例:
```
from bs4 import BeautifulSoup
html = """
<div class="bet-main bet-main-bg">
<table class="bet-tb bet-bt-dg">
<tbody>
<tr>
<td><a href="#">文本1</a></td>
<td><a href="#">文本2</a></td>
</tr>
<tr>
<td><a href="#">文本3</a></td>
<td><a href="#">文本4</a></td>
</tr>
</tbody>
</table>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
table = soup.find('table', {'class': 'bet-tb bet-bt-dg'})
tbody = table.find('tbody')
for tr in tbody.find_all('tr'):
for td in tr.find_all('td'):
a = td.find('a')
print(a.text)
```
这段代码会打印出每个 `tr` 标签内的 `td` 标签中的 `a` 标签文本。
相关问题
python获取div标签class为bet-main bet-main-dg中的tbody标签中的寻找每个tr标签中的td标签class为td td-no中的a标签的文本
可以使用Python的BeautifulSoup库来获取div标签class为bet-main bet-main-dg中的tbody标签中的每个tr标签中的td标签class为td td-no中的a标签的文本,代码如下:from bs4 import BeautifulSouphtml = 'div标签class为bet-main bet-main-dg中的html'soup = BeautifulSoup(html, 'html.parser')tds = soup.find('tbody').find_all('tr', class_='td td-no')for td in tds:
a_tag = td.find('a')
if a_tag:
print(a_tag.text)
python爬取网易云评论_Python - 网易云热门评论爬取
下面是一个简单的Python爬取网易云音乐评论的示例代码,仅供参考:
``` python
import requests
import json
import time
import random
import pandas as pd
def get_comments(song_id, offset):
url = 'http://music.163.com/api/v1/resource/comments/R_SO_4_{}/?limit=100&offset={}'.format(song_id, offset)
headers = {
'Referer': 'http://music.163.com/song?id={}'.format(song_id),
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
'Chrome/58.0.3029.110 Safari/537.3'}
res = requests.get(url, headers=headers)
data = json.loads(res.text)
comments = data['comments']
return comments
def main(song_id):
comments_list = []
for i in range(1, 21):
comments = get_comments(song_id, i * 100)
for comment in comments:
comment_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(comment['time'] / 1000))
comments_list.append([comment['user']['nickname'], comment_time, comment['content']])
time.sleep(random.randint(2, 5))
df = pd.DataFrame(comments_list, columns=['user', 'time', 'content'])
df.to_csv('comments.csv', index=False)
if __name__ == '__main__':
main('歌曲ID')
```
需要将代码中的`歌曲ID`替换为实际需要爬取的歌曲ID,运行后会在当前目录下生成一个名为`comments.csv`的文件,包含了歌曲的评论用户、评论时间和评论内容。需要注意的是,为了防止被封IP,这里加入了随机的睡眠时间。