自学爬虫——老马惹不起,简书谢谢你(爬虫怎么自学)

这个爬虫是个通用爬虫,去用心的了解scrapy框架,你就能轻松驾驭

https://github.com/a371057600/python-paChong-

这里是我的不专业的github,不逼逼直接搬来用吧,不推荐重复造轮子,对着代码多读几次就好,除非练手,不然不推荐重新敲,当然,能优化,改到你想要的功能是最好的.

把轮子用到了爬头条上面

我觉得,在头条上面教大家爬头条好像不是太好(虽然,头条也是爬别人的新闻)

头条的反爬方法基本跟微博也是一样,但是不推荐爬微博,因为微博大量的账号和原创内容,估计不登录也不能爬,登陆了就会废号.

本来,计划是爬淘宝的,但是无论怎么爬都会重定向到登录页面,用selemui也没用(实际有用,你只要在爬取的时候登录成为操作就好,但是这就类麻烦了.毕竟淘宝账号很重要的…)所以,最后折中爬了简书,谢谢简书爸爸的教导.

图片描述(最多50字)

from scrapy import signals

from selenium import webdriver

import time

from scrapy.http.response.html import HtmlResponse

class SeleniumDownloadMiddleware(object):

def init(self):

self.driver = webdriver.Chrome(executable_path=r\”C:Workpythonchromedriver.exe\”)

def process_request(self,request,spider):

self.driver.get(request.url)

time.sleep(1)

try:

while True:

showMore = self.driver.find_element_by_class_name(\’show-more\’)

showMore.click()

time.sleep(0.3)

if not showMore:

break

except:

pass

source = self.driver.page_source

response = HtmlResponse(url=self.driver.current_url,body=source,request=request,encoding=\’utf-8\’)

return responsege

大的门户网站你可以爬,爬了之后记得告诉我

获取ajax数据的方式:

直接分析ajax调用的接口。然后通过代码请求这个接口。

使用Selenium chromedriver模拟浏览器行为获取数据。

方式优点缺点分析接口直接可以请求到数据。不需要做一些解析工作。代码量少,性能高。分析接口比较复杂,特别是一些通过js混淆的接口,要有一定的js功底。容易被发现是爬虫。

图片描述(最多50字)

selenium直接模拟浏览器的行为。浏览器能请求到的,使用selenium也能请求到。爬虫更稳定。代码量多。性能低。

PS:本人全部自学,发送到头条也只是作为学习经历,顺便分享经验,没有炫耀和装大佬的意向,反而有互相学习寻求帮助的想法.

医生对病人说,你们有选择不痛苦的权利.但是,各位自学的哥们,我们没有选择的权利,学习的过程必然是艰辛痛苦的,程序猿996不是为了谁,真的是因为喜欢,真的是想要进步所以才会996.死在自己喜欢的工作上何尝不是钟享受呢.

不求认同,但是不希望喷子进来,这只是个笔记.

相关新闻

联系我们
联系我们
公众号
公众号
在线咨询
分享本页
返回顶部