(1)首先使用requests向豆瓣读书(https://book.douban.com/top250)发送请求获取网页源码,然后利用beautifulsoup解析为beautifulsoup对象。 (2)通过分析div标签和a标签,获取书籍名称以及链接。
时间: 2023-12-06 18:42:14 浏览: 105
好的,以下是代码实现:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://book.douban.com/top250'
headers = {
'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'}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'html.parser')
book_list = soup.find_all('div', class_='pl2')
for book in book_list:
book_name = book.a['title']
book_link = book.a['href']
print(book_name, book_link)
```
解释一下代码:
1. 我们首先使用requests模块发送GET请求,获取到目标网页的源代码。
2. 然后,我们使用BeautifulSoup模块将源代码转换成BeautifulSoup对象,以便于后面的解析。
3. 接下来,我们通过分析源代码中的div标签和a标签,使用find_all()方法获取到书籍的名称和链接。
4. 最后,我们使用for循环遍历每个书籍,并打印出书籍名称和链接。
需要注意的是,我们在发送请求时需要设置请求头,否则可能会被目标网站的反爬虫机制拦截。我们可以使用浏览器的开发者工具获取到请求头信息,或者使用常见的请求头,如上面代码中的headers。
阅读全文