业界动态
python爬虫基础知识—03爬虫实例
2024-11-07 12:42

爬虫的问题
1、爬虫的尺寸
爬取网页:小规模,数据量小,——requests库
爬取网站:中规模,数据规模较大,爬取速度敏感,scrapy库
爬取全网:大规模,搜索引擎,爬取数据,定制开发,像谷歌背后等

python爬虫基础知识—03爬虫实例

网络爬虫的法律风险,服务器上的数据产权所有

服务器限制网站爬虫
1、来源审查:判断User_Agent进行限制
    检查来访问http协议头的User_Agent域,只响应浏览器或友好爬虫访问
    requests.get(url,headers=)
2、发布公告
    告知爬虫网站的爬取策略
    
Robots协议:网络爬虫排除标准
作用:高数爬虫网站那些可以抓,那些不行
形式:在网站根目录下的robots.txt文件
https://www.jd.com/robots.txt
http://baidu.com/robots.txt

约束性:爬虫可以不遵守,但是有法律风险,类人类行为可不参考robots协议

爬虫实例

1、爬取京东商品
https://item.jd.com/100003800400.html
import requests
r=requests.get("https://item.jd.com/100003800400.html")
r.raise_for_status()
r.encoding=r.apparent_encoding
print(r.text[:1000])

2、爬取亚马逊图书
kv={'user-agent':'Mozilla/5.0'}告诉亚马逊我的头部user-agent为Mozilla/5.0
import requests
url="https://www.amazon.cn/dp/B01NAS120J?_encoding=UTF8&ref_=pc_cxrd_658390051_bestTab_658390051_a_best_1&pf_rd_p=08a249ad-ca97-4ee4-8ad2-61ba933d7738&pf_rd_s=merchandised-search-5&pf_rd_t=101&pf_rd_i=658390051&pf_rd_m=A1AJ19PSB66TGU&pf_rd_r=2GKXC26DSGKGFW09N6Y5&pf_rd_r=2GKXC26DSGKGFW09N6Y5&pf_rd_p=08a249ad-ca97-4ee4-8ad2-61ba933d7738"
try:
    kv = {'user-agent': 'Mozilla/5.0'}
    r=requests.get(url,headers=kv)
    r.raise_for_status()
    r.encoding=r.apparent_encoding
    print(r.text[1000:2000])
except:
    print("爬取失败")
    
3、百度/360搜索引擎关键词提交
搜索引擎关键词提交接口
百度的关键词接口
http://www.baidu.com/s?wd=keyword

360的关键词接口
http://www.so.com/s?q=keyword
在这两个接口中只要替换keyword就可以提交关键词
百度搜索全代码
import requests
try:
    kv={"wd":"python"}
    r=requests.get("http://www.baidu.com/s",params=kv)
    print(r.request.url)
    r.raise_for_status()
    print(len(r.text))
except:
    print("爬取失败")

360 
kv={'q':keyword}
http://www.so.com/s

4、网络图片耳朵爬取和存储
(对网站上的任何二进制数据都可以爬取)
网络图片链接的格式:http://www.example.com/picture.jpg
国家地理
http://www.nationalgeographic.com.cn/

爬取图像简单代码
import requests
url="https://gss1.bdstatic.com/-vo3dSag_xI4khGkpoWK1HF6hhy/baike/crop%3D0%2C420%2C730%2C800/sign=91d0d399adcc7cd9ee626e9904310d0b/bf096b63f6246b60314c7a00e5f81a4c510fa200.jpg"
path="E:/picture/abc.jpg"
r=requests.get(url)
r.status_code
with open(path,'wb') as f:
    f.write(r.content)  #r.content可以返回图片的二进制形式
    f.close()

爬取全代码
import requests
import os
url="http://www.pptbz.com/pptpic/UploadFiles_6909/201203/2012031220134655.jpg"
root="E:/picture"
path=root+url.split('/')[-1]#为[-1]则只保留最后一个 /后面的内容,自动删掉 /前面内容
try:
    if not os.path.exists(root):
        os.mkdir(root)
    if not os.path.exists(path):
        r=requests.get(url)
        with open(path,'wb') as f:
            f.write(r.content)
            f.close()
            print("文件保存成功")
    else:
        print("文件已存在")
except:
    print("获取失败")

    以上就是本篇文章【python爬虫基础知识—03爬虫实例】的全部内容了,欢迎阅览 ! 文章地址:https://sicmodule.kub2b.com/news/101.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 https://sicmodule.kub2b.com/mobile/ , 查看更多   
最新文章
发改委:推进户用光伏发展,助力农民拓宽增收新路径
中国产品流通经纪人协会供销合作行业标准《农产品食品供应商信用评价规范》参编单位征集函中国农产品流通经纪人协会供销合作行业
泉州百度爱采购运营介绍
百度爱采购入驻条件有哪些:商家需持有工商行政管理局颁发的营业执照,并且执照在6个月有效期内;厂家商品真实在营且符合国家相
抖音feed是什么 feed广告投放流程
feed是什么?feed流(又称信息流)它是穿插在App内容中的广告,具有原生沉浸式体验,支持多种展现形式。feed可以进行线索收集,
抖音投流怎么投?找到最合适的优化路线,实现精准引流与高效转化!
在如今竞争激烈的市场中,抖音广告已经成为商家吸引流量、增加曝光和转化的重要工具。很多企业都在问:“抖音投流怎么投,才能真
提升脸书播放/浏览量:Facebook Workplace的策略
以下介绍:提升脸书播放/浏览量:Facebook Workplace的策略关于提升脸书播放/浏览量:Facebook Workplace的策略所提到的问题请大
想换07年左右的老车,值得吗?
百车全说别人研究车,而我研究你!问:想买一辆2007年左右,绿色(丨), 3.0。主要是喜欢这种雪茄车身,想留着自己偶尔开一下,家
年度盘点丨西安:2024年度十大交通精细化治理案例
​​2024年,西安公安交警深入践行以人民为中心的发展思想,聚焦群众反映强烈的交通问题,坚持缓堵保畅、全域治理,坚持小切口入
怎样才能很好的提高百度SEO的排名呢
怎样使自己的网站在百度等搜索引擎排名靠前  提高用户体验确保网站加载速度快,移动设备友好,并提供良好的用户互动体验。利用
《人工智能:未来世界的“智慧引擎”》
在当今这个科技飞速发展的时代,人工智能(Artificial Intelligence,简称AI)正以前所未有的速度重塑
未来直播技术的创新与发展方向
随着信息技术的快速发展和移动互联网的广泛普及,直播已经成为当今互联网领域的重要应用之一。从最初的娱乐直播到现在的教育直播