代码:
#coding-utf8
#导入模块
import requests
from lxml import etree
#网站
url = 'https://book.douban.com/top250'
#获取网页
data = requests.get(url).text
#解析网页
s = etree.HTML(data)
#获取xpath 浏览其中的xpath不是完全可靠的 我们要将多余tbody删掉
file= s.xpath('//*[@id="content"]/div/div[1]/div/table//tr/td[2]/div[1]/a/@title')
score= s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div[2]/span[2]/text()') #score 评分
#我们需要循环进名字依次打印出来
for i in range(25):
print("{},{}".format(file[i],score[i]))
for i in range ()作用:
range ()
函数的使用是这样的:
range(3)
即:从1到3,不包含3,即0,1,2
range(1,3)
即:从1到3,不包含3,即1,2
range(1,3,2)
即:1,2。第三个数字2是代表步长。如果不设置,就是默认步长为1
注:如果range()里面的数刚好,和我们爬取的数据个数一样,编译器不会报错。
网友评论