如何更改网站内容(先学会了,学会总没啥问题吧?遇到的问题与总结)
优采云 发布时间: 2022-01-25 15:10如何更改网站内容(先学会了,学会总没啥问题吧?遇到的问题与总结)
先学习,学习没有错,对吧?
遇到的问题及总结
1、这个网站的数据都是静态转换成html文件的。通过查看源码发现有一种方法可以直接动态获取数据。
2、通过分析js,有一个api接口,可以直接修改分页条目数,提高数据获取效率
3、数据是post获取的,所以不能直接设置start_urls属性,需要通过start_requests()方法初始化。 Post访问url是通过FormRequest
4、通过chrome获取的数据中文正常。那么通过接口返回的中文就是hello(?),直接对response.body进行解码,比如response.body.decode("utf-8")。问题解决了。
5、接口返回的数据不再是html,而是直接json,这样就不需要xpath/css/re,方便yield的数据处理。
6、因为是post,所以界面的url是一样的,涉及到重复提交。 Scrapy默认是不允许重复提交的,所以我们需要设置dont_filter=True来允许重复提交。
7、对于相同URL的数据,翻页是个问题,因为你不知道上一页的页码,所以如何把数据传给回调很重要,cb_kwargs= dict({}) 可以解决问题。