最近在做nlp,然后需要一些语料作为字典,所以就进行了一些爬虫,但是很多网站会有反爬虫机制
其实维基百科也是很好的中文语料库,但是问题是现在国内需要翻墙才可以访问维基百科
在我进行爬虫的过程中,遇到的问题是网页中有<input type="hidden">所以导致我用python的requests去请求之后,在用html.xpath()得不到我所需要的内容。
于是请教大神,得出一种新方法:(对一部分网站好用,可以试下)
1.打开你所要爬虫的网页(chrome浏览器),点击F12,进入开发者模式
2.点击network->XHR->右键->copy->copy as cURL
3.打开jupyter notebook
粘贴就可以了
然后发现粘贴内容为:
curl https:................(省略一大片)
我们用的是juoyter notebook,所以不可以直接执行linux命令,但是只需要在前面加!即可
json = !curl -s 'https:.........................'
4.json处理
这样json得到了网页的内容,但是打印出来会发现是一些很乱的字符,我们也看不懂,所以需要将json进行转为python的数据结构
import json as j
data = j.loads(json[0])
这样就可以将json的字符串转为我们可以看得懂的字符串了(通过type(data)查看类型,在进行相应的处理或者存储)
然后可以进行之后的一系列处理!