【Python爬虫】爬取知乎推荐问题(含模拟登陆)

【Python爬虫】爬取知乎推荐问题(含模拟登陆)

以下代码可以爬取知乎推荐阅读内容的问题,并存储在D:\ \zhihu.txt 中。

其中,为了实现模拟登陆,需要在浏览器完成登录之后,手动复制 Cookie 并代替代码中的 Cookie 。

from requests_html import HTMLSession
import os
import re
import time

os.chdir('D:')
session = HTMLSession()

url = 'https://www.zhihu.com/'

headers = {'Cookie':'_zap=4c829b4e-1201-4958-99a1-ac2485840836; _xsrf=MVHGE1y0EiN4nqXSweahVA99FlA2SGb7; _ga=GA1.2.1879096272.1589471871; _gid=GA1.2.692919116.1589471871; d_c0="ANBXIqsNRRGPTnM4UXPDwc6VkokSpS_DEqo=|1589471870"; capsion_ticket="2|1:0|10:1589471879|14:capsion_ticket|44:MTFmNzVhMjkwYjZlNDM5NWE2ZTg5YjcxNjNiNDU5Y2E=|2999295c0b1de615a7608a50cfa9fc7f9aba92a2db7ede1947c7012273a15959"; z_c0="2|1:0|10:1589471906|4:z_c0|92:Mi4xQ2t1SUN3QUFBQUFBMEZjaXF3MUZFU1lBQUFCZ0FsVk5vcmlxWHdCa3poU2cxQlJKLUxGOVhJYW1kTUlYQUUwc1Jn|26e2693d08d4f9c2ebc7a30010a02a67e6bc2e5d3842790f49498fbe3a363d10"; tst=r; _gat_gtag_UA_149949619_1=1; Hm_lvt_98beee57fd2ef70ccdd5ca52b9740c49=1589471870,1589506422,1589541721; Hm_lpvt_98beee57fd2ef70ccdd5ca52b9740c49=1589541721; SESSIONID=CUtvDeLbggH9P5nr8xYYLkacAjedvTNLJRBTCpBM3eX; JOID=VVscBUnj64FtYV4HQuLa0eJLR0BdpLT6HyA_QS-BiMNbNW5tOreVNDJgUAJJlrR47riVCtzUaFkiqdvaD6BW7ug=; osd=U1gcCk_l6IFiZ1gEQu3c1-FLSEZbp7T1GSY8QSCHjsBbOmhrObeaMjRjUA1PkLd44b6TCdzbbl8hqdTcCaNW4e4=; KLBRSID=975d56862ba86eb589d21e89c8d1e74e|1589541725|1589541719'}
while True:
    time.sleep(10)
    try:
        r = session.get(url,headers = headers)
        html = r.text
        questions = re.findall('content="[^abcdefghijklmnopqrstuvwxyz1234567890]*"',html)
        for question in questions:
            if question != 'content=""' and question != 'content="有问题,上知乎。知乎,可信赖的问答社区,以让每个人高效获得可信赖的解答为使命。知乎凭借认真、专业和友善的社区氛围,结构化、易获得的优质内容,基于问答的内容生产方式和独特的社区机制,吸引、聚集了各行各业中大量的亲历者、内行人、领域专家、领域爱好者,将高质量的内容透过人的节点来成规模地生产和分享。用户通过问答等交流方式建立信任和连接,打造和提升个人影响力,并发现、获得新机会。"':
                question = re.sub('content=','',question)
                print(question)
                open('zhihu.txt','a').write(question + '\n')
    except:
        print('jump')

你可能感兴趣的:(Python爬虫系列)