这两天找了个实习,名义是python工程师,其实就是写爬虫+整合到django。实习很奇葩,还有试用期的,现在试用期过了等后续安排,正好整理下这几天写爬虫的一些心得体会。
首先,感觉写爬虫真的是个经验活,一般的网站说白了就是不停往request里试参数。直接爬不行加headers=试试,看有提交的表单就加个data=试试。这里要区分下的是POST方法对应的是Form Data,可以通过request的data参数实现
request.post(data=data)
而GET方法对应的是Query String Parameters,一般采用拼接url的方法
base_url+urllib.urlencode(data)
至于提交表单的内容是什么,就要靠自己看html的标签或者js的函数得知,一般来说都能在html的源码里搜索到,可能是商品id,可能是页面相对路径的一部分,可能和时间相关,当然那些反爬网站提交的表单都是加密的,要想真正破解就要靠猜和试了。
然后对于一些需要模拟登录的网站,不需要验证码的话利用上面说的GET和POST表单应该就能解决,但有的网站还需要提供cookies,这时request就要包含cookies参数了。
requests.get(url, headers=header, cookies=coo