当前位置: 首页 > news >正文

个人域名怎么申请/厦门seo搜索排名

个人域名怎么申请,厦门seo搜索排名,废旧网站那个做的最好,建筑必看六个网站在公众号的文章有源码链接。前几天学了scrapy,虽然还不太明白,但是我也要试试用scrapy把之前的前程无忧爬虫改一下,而且不懂还可以问小哥哥鸭ω~按照流程,先创建一个项目。打开命令行,进入存放项目的目录,输…

28d1388223735b5a3f26026b7456e022.png

在公众号的文章有源码链接。

前几天学了scrapy,虽然还不太明白,但是我也要试试用scrapy把之前的前程无忧爬虫改一下,而且不懂还可以问小哥哥鸭¯ω¯~

按照流程,先创建一个项目。打开命令行,进入存放项目的目录,输入“scrapy startprojcet 项目名”。

679bee7eede11f7f088f1d22282f78ee.png
简简单单~

然后进去项目里, 创建一个爬虫。进入存放项目的目录后,输入“scrapy genspider 爬虫名”。

25d0abb1bff109df946a00df473cec59.png

9c3cf7864ceedc86e203f4f5b2a5de93.png
爬虫已经创建好了~

接下来编写items.py的代码,之前的目标是获取公司名、链接、职位名、工资、职位描述。

8c2f4b69f248cb48ea8bf771ef6b2383.png

把之前的代码复制进job.py再修改一下¯ω¯~我真聪明

ed3af47495b7ca957a991f9967dd8925.png

运行一下看有没有问题。

10ea876d06f266e1bb45ba8faffa046d.png

emmm……好像是说area_code没定义?我上面不是定义了吗?QAQ只好去求助小哥哥了。

惨绿青年:你试下重写start_requests方法把那些变量放到里面去试试。

我:什么是重写鸭?

惨绿青年:你直接写一个start_requests方法就行了,因为这个类本来有这个方法,你再写就会覆盖掉原来的方法。记得start_requests要返回scrapy.Request(),scrapy.Request()的使用方法和requests库类似。顺便把start_urls删掉吧。

惨绿青年:Request()的参数放url和需要使用的函数就可以了,当Request处理完url就会将结果作为参数去调用函数。下图是Request的部分源码,函数就是作为callback的参数。

01691c0bd87f9c74c0d7f06d871cf2dd.png

我:好,我试试。

a012d10315319ae9e12ee230f7587815.png

我:QAQ怎么还是不行鸭???

惨绿青年:scrapy.Request()的url参数需要字符串,你给了个列表,改一下吧……

我:好吧QAQ。

228825debf8fba44b6c1240ce5d7618c.png
顺便加了点反馈

90f5bc85b889ba3803a27bef5aeeefe0.png
看到反馈了

终于可以了QAQ,接下来把提取数据的代码也搬过去吧。这次改一下用xpath试试。

先看下链接,是a标签的href属性,上一层是span标签,再上一层是p标签,最上层是class为el的div标签。

404b63a1691e1e53b990708c53c0579c.png

0063debd7384e3c8afdb0112cbb7a291.png

创建一个get_data函数获取职位页面的数据。

进入职位页面,看一下公司的名字,是class为cname的p标签下的a标签title属性。

8466beee20e8e6c4f79bca277b70d840.png

49fd94ac547787b90599429c70b9adda.png

网页链接直接可以从response获取。

a99872bd6535cdeebf9533919fee2488.png

看一下职位名和工资,职位名在class为cn的div里h1标签的title属性里,工资在class为cn的div里的strong标签里。

3af8d44cf840d911135ffafd583615cd.png

b2bfe0d1169bb18cc4e8144b85d6b35b.png

最后就是职位描述了,在class为bmsg job_msg inbox的div下一层的p标签里。因为文本里有些空格,小哥哥教我用re()去清除。使用re()后返回一个列表,列表里是一个个的字符,所以用join()连接起来即可。

8316984b960834df5ec2ca5fd9d6aaf0.png

34b8374a0287445c0d120784d9603c3f.png

最后记得返回item。

179606ee3475b642bcda25c389d4e9ff.png

试一下行不行。

1c237ae12f19b4df3093632f80e6e353.png

好像还是不行QAQ,问一下小哥哥是什么回事?

惨绿青年:看了一下报错信息,应该是allowed_domains限制了爬取的域名,把它删掉就好。

按照小哥哥的教导,终于可以了。

30e5000cf6dddc56d406c24f57b3022c.png

打开保存的文件看一下。

a32111d57b6674a992417b2f8246a446.png

果然是乱码,按照之前的教程,在settings.py添加对应的代码试试。

1c2dd200edd1939a08e518853957fd24.png

再看一下保存的文件。

13cf989fd75773e8382770f22a7cde16.png

没有乱码,而且没!有!空!行!但是有些职位描述是空白,我点进去看了下,有些职位描述是在class为bmsg job_msg inbox的div下一层的div标签里,有些甚至不在div标签和p标签里……只好改一下代码了。

56fc9193b638203cd4eeb05d6acbf175.png

修改代码后暂时没有发现问题,试了一下爬取20页的数据只需要16秒左右。20页数据每页50条,都上千条数据了!

db308b79c996ee4e78622f3f4aba87a5.png

没想到scrapy这么厉害,1秒能爬100多条数据!这是第一次用scrapy写爬虫,还是把以前做过的改写,都花了很多时间QAQ。当然还是非常感谢惨绿青年小哥哥的教导啦,让我学到了这么多东西~

总结:

  1. allowed_domains用来限制爬取的域名,start_urls用来存放一开始爬取的链接。
  2. 需要用变量时可以重写start_requests()把变量放到里面试试。
  3. scrapy.Request()需要给一个链接,还需要指定callback的函数。
  4. 获取数据后记得返回item。
  5. 导出csv文件乱码时可以在settings.py修改设置。

今天也学到了很多东西呢,明天有什么新知识呢?真期待鸭~如果喜欢文章可以关注我哦~

544d6ab6c02adddb53e88f6349603c25.png
http://www.jmfq.cn/news/4923379.html

相关文章:

  • wordpress文章数据太多/seo案例模板
  • 网站ftp文件/百度网址大全下载安装
  • ui设计师mike个人网站/南京seo公司教程
  • 做外贸需要有自己的网站吗/华联股份股票
  • 大连开发区做网站的公司/一份完整的活动策划方案
  • wordpress不能载入图片/沈阳优化网站公司
  • 镇江网站建设哪家好/seo优化需要多少钱
  • 免费建设网站平台/线上网络平台推广
  • wordpress 不显示主题/seoul是韩国哪个城市
  • 购买完域名后怎么做网站/东莞做网站哪家好
  • 个人网站怎么做代码/排名网站
  • 长沙最好网站建设/曼联vs恩波利比分
  • 游戏推广应该怎么推/北京seo网站推广
  • 洛阳有哪些做网站的公司/网络营销的4p策略
  • 优酷的网站头怎么做的/淘客推广怎么做
  • 软件设计师中级/长沙seo网站管理
  • 东莞做网站多少钱/北京seo服务商找行者seo
  • 网站制作的内容包含/亚马逊跨境电商
  • 嘉兴做网站的公司有哪些/360投放广告怎么收费
  • 做财务需要关注哪些网站/关键词林俊杰的寓意
  • 做牙的网站叫什么/武汉seo报价
  • 学生个人网页设计主题/系统优化的意义
  • 机加工如何用网站开发客户/微信crm客户管理系统
  • 网站建设亇金手指专业/宝鸡网站开发公司
  • 海口建设工程信息网站/搜索竞价托管
  • 潍坊市网站建设公司/北京百度seo
  • 二维码创意设计/被公司优化掉是什么意思
  • 网站建设项目的工作分解/seo软件推广
  • vps 网站发布/长沙建站seo公司
  • 如何对网站进行推广/新闻稿件代发平台