前段时间有个数据源网站突然更新,原本通过websocket爬取的数据突然就gg了。没得办法,只能用最原始的方法来爬取想要的数据了。爬取过不少的网站数据,这里不对爬虫合理合法性做讨论。纯粹分享我知道的一点点技术
网站大体分三种(对于爬虫而言)
⒈网站直接通过接口获取数据(json和页面)。简单的就是通过传一些params来获取不同数据,这种是最简单的。通过requests模块就可以很容易拿到自己想要的数据。json数据好说,直接解析json就可以。另一种是接口返回的是网页源代码,这种稍稍麻烦些,也不难,scrapy这个框架就是好用,xpath也是神器。简单学习下,爬取个网站不在话下。
⒉第二种是网站通过websocket获取数据。这种我原先也觉得简单,不就是用websocket嘛,验证ssl直接关闭就行了嘛。
import websocket
def create_ws():
try:
header = [
"User - Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36"
]
ws = websocket.create_connection(
url='wss://*******',
timeout=60,
header=header,
# subprotocols=["binary", "base64&