❶ python爬虫需要什么基础
网页知识
html,js,css,xpath这些知识,虽然简单,但一定需要了解。 你得知道这些网页是如何构成的,然后才能去分解他们.
HTTP知识
一般爬虫你需要模拟浏览器的操作,才能去获取网页的信息
如果有些网站需要登录,才能获取更多的资料,你得去登录,你得把登录的账号密码进行提交
有些网站登录后需要保存cookie信息才能继续获取更多资料
正则表达式
有了正则表达式才能更好的分割网页信息,获取我们想要的数据,所以正则表达式也是需要了解的.
一些重要的爬虫库
url,url2
beautiul Soup
爬取到的数据我们得有个地方来保存,可以使用文件,也可以使用数据库,这里我会使用mysql,还有更适合爬虫的MongoDB数据库,以及分布式要用到的redis 数据库
爬虫框架
PySpider和Scrapy这两个爬虫框架是非常NB的,简单的爬虫可以使用urllib与urllib2以及正则表达式就能完成,但高级的爬虫还得用这两个框架。 这两个框架需要另行安装。后面一起学习.
反爬虫
有时候你的网站数据想禁止别人爬取,可以做一些反爬虫处理操作。 打比方网络上就无法去查找淘宝上的数据,这样就避开了搜索引擎的竞争,淘宝就可以搞自己的一套竞价排名
分布式爬虫
使用多个redis实例来缓存各台主机上爬取的数据。
爬虫要学的东西还是挺多的,想把爬虫玩得666,基本就是这些知识点吧!
❷ 怎么利用爬虫技术抓取淘宝搜索页面的产品信息
可以通过requests库re库进行淘宝商品爬虫爬取
import requests
import re
def getHTMLText(url):
try:
r= requests.get(url,timeout=30)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return ""
def parsePage(ilt,html):
try:
plt = re.findall(r'\"view_price\":\"[\d+\.]*\"',html)
tlt = re.findall(r'\"raw_title\"\:\".*?\"',html)
for i in range(len(plt)):
price = eval(plt[i].split(':')[1])
title = eval(tlt[i].split(':')[1])
ilt.append([price,title])
except:
print("F")
def printGoodsList(ilt):
tplt = "{:4}\t{:8}\t{:16}"
print(tplt.format("序号","价格","商品名称"))
count = 0
for g in ilt:
count = count +1
print(tplt.format(count,g[0],g[1]))
def main():
goods = '书包'
depth = 2
start_url = "https://s.taobao.com/search?q="+ goods
infoList = []
for i in range(depth):
try:
url = start_url +'&s='+str(44*i)
html = getHTMLText(url)
parsePage(infoList,html)
except:
continue
printGoodsList(infoList)
main()
这段代码在过去是可以爬取淘宝商品信息,但是因为淘宝的反扒技术升级,便不能让你大摇大摆地进出自如了。
此外也可以借助采集实现采集
❸ python爬虫求一个只用requests库和beautifulsoup库抓取淘宝目录页面内容的框架。。自己抓不出来。绝望。
可以将网页下载下来先练习 BeautifulSoup 的解析。
requests 请求也是一样先各个击破的学习。
淘宝的请求回来的页面 html没有目录数据,是因为有可能他们的页面渲染是通过 JS 来渲染的,所以你只用 BeautifulSoup 是不行的。需要使用其他支持 JS 的库。
❹ 互联网上的任何东西都可以爬取吗
写爬虫的小伙伴要注意,爬虫一时爽,但不是一直爬一直爽。
如果你的爬虫触犯了法律,可是要承担责任的哦,那么什么样的爬虫才算是安全的爬虫呢?
现在我来结合一下实际情况,给几点建议吧:
1、爬虫访问频次要控制,别把对方服务器搞崩溃了
虽然你爬取的信息都是公开的,也不涉及公民隐私,爬取的数据也不用于违法获利,只是自己弄着玩,但是如果你的爬虫太疯狂了,一分钟请求1万次,导致对方服务器应接不暇,不能处理正常业务了,对不起,你这种属于违法行为,这种爬虫等同于进行黑客攻击了,你让人家不能正常工作了,损害了对方的利益
2、 涉及到个人隐私的信息你不能爬
其实这很好理解,你希望你自己的电话号,身份证号,家庭住址,工作单位,行踪轨迹这些隐私信息被别人用爬虫抓取么?当然不希望,别人抓了你的这些信息,你肯定想去报警对不对,让警察去抓那个坏蛋,ok,你不要去做那个坏蛋。
3、 突破网站的反爬措施,后果很严重
正规的网站都会在根目录下放置
robots.txt,这里就规定了哪些能爬,哪些不能爬,谁可以爬。对于那种反爬特别严重的,例如淘宝,你最好别去爬,如果你真的利用你的高智商突破了淘宝的反爬措施,那么恭喜你,你已经违法了。
4、 不要用爬取的数据做不正当竞争
比如你把大众点评的评论数据都爬下来了,然后自己搞了一个xx点评,这肯定不行,人家辛辛苦苦的积累的数据,你轻轻松松的弄下来,直接拿来主义,跟人家搞竞争,你不违法谁违法。
5、 付费内容,你不要抓
既然是付费内容,说明这东西价值很高,付费才能看,你弄下来了,你想干啥?你私自传播,就对网站造成了潜在损失。
6、最后一条,突破网站反爬措施的代码,最好不要上传到网上
你技术很牛逼,能突破网站的反爬措施,你把这些代码发布到网上,比如github,你自己没做啥坏事,可是想做坏事的人利用了你的代码,入侵了网站,那么,这种情况下,你也是有责任的,这个听起来有点冤,但确实存在这样的风险,所以,最好还是不要这么干。