用requests抓取csdn论坛分支页面的帖子,输出结果是乱码,被反爬虫了?应该怎样解决!谢谢!

来源:14-13 获取和解析详情页 - 2

慕粉13980767054

2019-05-16

写回答

4回答

bobby

2019-05-17

import requests

from selenium import webdriver

browser = webdriver.Chrome(executable_path="C:/慕课网课程/driver/chromedriver-233.exe")

browser.get("https://bbs.csdn.net/")

cookies = browser.get_cookies()
import time
time.sleep(5)
cookies={}
for cookie in browser.get_cookies():
    cookies[cookie['name']]=cookie['value']
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:66.0) Gecko/20100101 Firefox/66.0',
           "Referer": "https://bbs.csdn.net/",
           }

tt = requests.get("https://bbs.csdn.net/",  headers=headers, cookies=cookies).text
print(tt)

这里使用了chrome方式先获取到cookie,然后后续的每次请求都带上cookie,只需要获取一次cookie就行了, chromedirver如果这里不懂的话可以先看看9-6小结 然后你再看这个代码就很容易懂了,我也会尽快在课程中添加文件说明这里的问题

1
3
bobby
回复
慕粉13980767054
视频已经录制完成,今明两天应该就会上线, 7-8小节 你关注一下
2019-05-20
共3条回复

慕粉13980767054

提问者

2019-05-16

//img.mukewang.com/szimg/5cdcdca1000183ab13020158.jpg

获取网页的截图

0
1
bobby
这个不是乱码,是因为csdn改变了加载页面的规则,让页面访问之前先执行一段js代码然后才能重新加载页面,我正在调研这个问题
2019-05-17
共1条回复

慕粉13980767054

提问者

2019-05-16

#源代码

import requests

from scrapy import Selector

domain = "https://bbs.csdn.net/forums/JavaScript"


res = requests.get(domain).text

print(res)


0
0

bobby

2019-05-16

乱码能截图我看看吗?

0
0

Python爬虫工程师实战 大数据时代必备

慕课网严选精品教程,高质量内容+服务!

2377 学习 · 1158 问题

查看课程