bs4解析入门:爬取当当网30天内热销的书名和价格

目录

一、分析网页:

二、爬取

(一)发起请求+获得网页源码

(二)解析数据

1.实例化

2.通过标签抓取

三、改进

四、错误

(一)不可连用 find_all

(二)字符串与数字不得直接拼接

(三).find返回的结果

五、代码


        bs4 是 html 里通过标签名和属性定位数据内容,以达到解析数据的目的

一、分析网页:

        本次抓取当当网近一月图书畅销排行榜书名,定位到所需要的用到的标签

        这个网页发起 get 请求,返回 text 类型的网页源码

        抓取思路:

1.拿到源代码

2.使用 bs4 进行数据解析,拿到想要的结果

二、爬取

(一)发起请求+获得网页源码

        本次实例重在体会 BS4 数据解析方法,所以把两步放在一起了

# 指定URL
url = 'http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent30-0-0-1-1'# UA伪装
head = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'}# 获得响应数据
response = requests.get(url, headers=head).text

(二)解析数据

1.实例化

        bs4 是把页面源代码交给 beautifulsoup 处理,生成bs对象(理解为实例化一个 beautifulsoup 类)

soup = BeautifulSoup(response, "html.parser") 
print(type(soup))
# 指定 html 解析器,否则Python会有警告,不知道用哪种解析器

2.通过标签抓取

        从 bs 对象中查找数据,有find(标签,属性1=值1)find_all(标签,属性1=值1)两种方法,功能是找第一个标签/所有标签所标记的

        观察标签的结构:在

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部