每次进行html信息提取时会疑惑多时,其实记录下来是最好的办法。
- 对BeautifulSoup解析后返回列表中的遍历,每遍历一次取出列表中的一个元素,此时的列表seq_name[number]只有一个元素,不能再使用find_all()函数,而应改用find()函数。而且可递进提取标签,如list.find('div',class_=' ').find('a').find('span')等等。
for number in range(len(seq_name)):
seq_one=seq_name[number].find('em').text.strip()
name_one=seq_name[number].find('img')['alt']
link_one=seq_name[number].find('a')['href']
try:
comment_one=comment[number].find('span',class_='inq').text.strip()
except Exception:
comment_one=name_one+'无电影推荐'
stars_one=stars[number].text.strip()
total_list.append([seq_one,name_one,link_one,comment_one,stars_one])
- text获取到的是该标签内的纯文本信息,即便是在它的子标签内,也能拿得到。但提取属性的值,只能提取该标签本身的。
- 查找网站的robots协议方法:浏览器网址栏上打http://你的网址/robots.txt
- 请求头的查找:开发者工具-查看器-Network-点击任何一个文件,即可查看请求头,即'User-agent:'后面的内容,如下:
headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; …) Gecko/20100101 Firefox/75.0'}
- Network中查看的几个项目标识:

- json是一种数据交换的语法。对我们来说,它只是一种规范数据传输的格式,形式有点像字典和列表的结合体。json则是另一种组织数据的格式,长得和Python中的列表/字典非常相像。它和html一样,常用来做网络数据传输。而html是通过标签、属性来实现分层和对应。
XHR用于传输数据,它能传输很多种数据,json是被传输的一种数据格式。

res=requests.get(url,headers=headers)
print(res.json())
网友评论