学习python爬虫笔记(1)

from lxml import etree
import requests
import time

for a in range(10):
    url="https://book.douban.com/top250?start={}".format(a*25)
    data=requests.get(url).text

    s=etree.HTML(data)
    ##全局匹配
    file=s.xpath('//*[@id="content"]/div/div[1]/div/table')
    time.sleep(3)

    for div in file:
        title = div.xpath('./tr/td[2]/div[1]/a/@title')[0]
        href = div.xpath('./tr/td[2]/div[1]/a/@href')[0]
        score = div.xpath('./tr/td[2]/div[2]/span[2]/text()')[0]
        num = div.xpath('./tr/td[2]/div[2]/span[3]/text()')[0].strip("(").strip().strip(")").strip()
        scrible=div.xpath('./tr/td[2]/p[2]/span/text()')

        if len(scrible)>0:
            print("{},{},{},{},{}\n".format(title,href,score,num,scrible[0]))
        else:
            print("{},{},{},{}\n".format(title,href,score,num))

本段代码是通过requests+xpath爬取豆瓣TOP250图书信息来源

注:

      1.xpath获取元素下标从1开始而不是0;即div[1]获取的是第一个div而非第二个;xpath语法

      2.python占位符是%,不过format()方法使用的是{};format

猜你喜欢

转载自blog.csdn.net/a17674188183/article/details/82181941