美文网首页
521福利—520过了,单身狗去爬取约会吧图片,找个心仪的

521福利—520过了,单身狗去爬取约会吧图片,找个心仪的

作者: BABYMISS | 来源:发表于2020-05-21 15:36 被阅读0次

import requests

import parsel

page_num = 1

for page in range(0,57000+1,50):

    print("==============正在爬取第{}页=========".format(page_num))

    page_num+=1

    # 1.分析目标网页,确定爬取到url路径, headers参数

    base_url = "https://tieba.baidu.com/f?kw=%E7%BA%A6%E4%BC%9A&ie=utf-8&pn={}".format(page)

    headers = {

        'User-Agent': "User-Agent:Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0"

    }

    # 2.发送请求,requests,模拟浏览器发送请求,获取相应数据

    # 这是一个对象,利用.text来提取其中的数据

    response = requests.get(url=base_url, headers=headers)

    html_str = response.text

    # print(html_str)

    # 3.解析数据 parsel 转化为Selector对象,Selector对象具有xpath的方法,能够对转化的数据进行处理

    html = parsel.Selector(html_str)

    # 这里使用谷歌的请求头一直请求不出内容,换了IE的请求头即可。

    title_url = html.xpath('//div[@class="threadlist_title pull_left j_th_tit "]/a/@href').extract()

    for title in title_url:

        all_url = "https://tieba.baidu.com" + title

        response_2 = requests.get(url=all_url, headers=headers).text

        response_2_data = parsel.Selector(response_2)

        pic_url = response_2_data.xpath(

            '//div[@class="d_post_content j_d_post_content "]/img[@class="BDE_Image"]/@src').extract()

        for pic in pic_url:

            file_name = pic.split('/')[-1]

            img = requests.get(url=pic, headers=headers).content

            # 4.数据保存

            with open('img\\' + file_name, "wb") as f:

                f.write(img)

相关文章

网友评论

      本文标题:521福利—520过了,单身狗去爬取约会吧图片,找个心仪的

      本文链接:https://www.haomeiwen.com/subject/jezzohtx.html