1.爬取网页的步骤
2.爬取网页的代码1结果显示
3.爬取网页的代码2结果显示
4.代码分析
最近更新:2018-01-16
1.爬取网页的步骤
- 步骤1:确认是否安装requests库,BeautifulSoup4库;
安装方法参考:Windows系统的cmd,以requests为例,输入:pip install requests - 步骤2:打开豆瓣读书网页链接。
https://www.douban.com/tag/%E5%B0%8F%E8%AF%B4/?focus=book - 步骤3:在网页右击鼠标右键,选择““查看源代码””,查看代码是否为html代码中,如是则可以用requests,BeautifulSoup4库可以提取相关的信息。如不是,则不可以。
- 步骤4:查看该网站的Robots协议。(该网站无Robots)。
- 步骤5:确认爬取资料的目的,撰写代码,并进行爬取数据。
a)输入:豆瓣网小说的URL链接;
b)输出:豆瓣网小说的名称;
c)技术路线:requests-bs4;
d)定向爬虫:仅对输入URL进行定向爬取,不扩展爬取。
2.爬取网页的代码1结果显示
2.1爬取网页的代码
#CrawUnivRankingB.py
import requests
from bs4 import BeautifulSoup
url="http://www.douban.com/tag/%E5%B0%8F%E8%AF%B4/?focus=book"
r=requests.get(url)
demo=r.text
soup=BeautifulSoup(demo,"html.parser")
book_div = soup.find(attrs={"id":"book"})
book_a = book_div.find_all(attrs={"class":"title"})
for book in book_a:
print (book.string)
2.2 代码显示的结果
书名.png
3.爬取网页的代码2结果显示
3.1爬取网页的代码
import requests
from bs4 import BeautifulSoup
import bs4
url="http://www.douban.com/tag/%E5%B0%8F%E8%AF%B4/?focus=book"
r=requests.get(url)
demo=r.text
soup=BeautifulSoup(demo,"html.parser")
for tr in soup.find(attrs={"id":"book"}).children:
if isinstance(tr,bs4.element.Tag):
tds=tr(attrs={"class":"title"})
for book in tds:
print (book.string)
3.2 代码显示的结果
书名.png
4. 代码分析
4.1这里用BeautifulSoup解析,基本流程:
- 缩小范围,这里我们通过id="book"获取所有的书
- 然后通过class="title",遍历所有的书名。
4.2分析页面源代码
页面源代码.png
4.3代码1说明
- book_div-通过id=book获取div标签
- book_a-通过class="title"获取所有的book_a标签
- for循环-是遍历book_a所有的a标签
- book.string-是输出a标签中的内容
4.4代码2说明
- soup.find 通过id=book获取tr标签
- tds 通过class="title"获取所有的tds标签
- for循环-是遍历tds所有的标签
- book.string-是输出a标签中的内容













网友评论