Copyright © 1999-2020, CSDNNET, All Rights Reserved
python
打开APP
小羊努力搞代码
关注
学习日志:Python 实现网络爬虫——提取关键字 原创
2022-06-19 13:02:38
小羊努力搞代码
码龄174天
关注
编写一段Python代码,向百度提交查询关键词“桃花源记”,抓取百度的查询结果,要求有文字、链接,可以在浏览器中打开抓取的链接,或者调用浏览器打开抓取的链接。
红框内是根据网站信息需要更改的内容。57031baa3a394395be479ad89f1ff15epng
附上完整代码:
import json
import requests
from lxml import etree
headers = {
"User-Agent":"Mozilla/50 (Windows NT 100; WOW64) AppleWebKit/53736 (KHTML, like Gecko) "
"Chrome/8804324104 Safari/53736"
}
response = requestsget('>
抓取js动态生成的内容的页面有两种基本的解决方案
1用dryscrape库动态抓取页面
js脚本是通过浏览器来执行并返回信息的,所以,抓取js执行后的页面,一个最直接的方式就是用python模拟浏览器的行为。WebKit 是一个开源的浏览器引擎,python提供了许多库可以调用这个引擎,dryscrape便是其中之一,它调用webkit引擎来处理包含js等的网页!
2 selenium web测试框架
selenium是一个web测试框架,它允许调用本地的浏览器引擎发送网页请求,所以,它同样可以实现抓取页面的要求。
1win10 下 win + r 打开cmd 切换新项目的目录
2新建scrapy项目的命令:
可以利用pycharm 打开项目文件夹编辑项目
3itemspy
声明爬取的字段
4新建scrapy 爬虫
用命令 scrapy genspider doubanmovie "moviedoubancom" 创建爬虫。
5运行爬虫
51 创建运行脚本
(一)、在 scrapycfg 同级目录下创建 pycharm 调试脚本 runpy,避免每次运行爬虫输入密码,内容如下:
6修改robottxt协议
修改 settings 中的 ROBOTSTXT_OBEY = True 参数为 False,因为默认为 True,就是要遵守 robotstxt 的规则, robotstxt 是遵循 Robot协议 的一个文件,它保存在网站的服务器中,它的作用是,告诉搜索引擎爬虫,本网站哪些目录下的网页不希望你进行爬取收录。在 Scrapy 启动后,会在第一时间访问网站的 robotstxt 文件,然后决定该网站的爬取范围。查看 robotstxt 可以直接网址后接 robotstxt 即可。
一般构建爬虫系统,建议自己编写Item Pipeline,就可以在open(path)选择自己的保存路径
参考: # scrapy爬虫事件以及数据保存为txt,json,mysql
71保存为json格式时出现乱码的解决方式:
scrapy抓取豆瓣书籍保存json文件乱码问题
中文默认是Unicode,如:
\u5317\u4eac\u5927\u5b66
在setting文件settingspy中设置:
就可以解决了
第二种解决办法
或在cmd中传入 -s FEED_EXPORT_ENCODING='utf-8'
参考: >
python爬取到的json数据怎么存入到MySQL数据库中
json的数据jsonloads进来以后会变成一个json的对象,你需要自己把python对象中的字段值取出来,拼成sql语句
json不是一种格式吗,能当爬虫用?你访问的url既然是空白的,那就说明不是这个url,注意找找究竟是哪个url,能访问并且显示想要的内容才是对的。最后就是如果能访问,爬虫却抓取不下来,就得考虑是不是被检测到爬虫了,需要修改请求头部等信息隐藏自身。
以上就是关于用python爬取关键词并解释全部的内容,包括:用python爬取关键词并解释、4种Python爬虫(3. 微信小程序,如,超级猩猩)、网页内容是用 json 动态生成的,需要怎么爬取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)