业界动态
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爬虫实例】的全部内容了,欢迎阅览 ! 文章地址:http://sicmodule.kub2b.com/news/101.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 企库往资讯移动站 http://changmeillh.kub2b.com/ , 查看更多   
最新新闻
APP如何提升日活?
这次我们来说怎么提升日活。根据分解,日活提升=增加新用户+新用户留存提升+老用户促活+流失用户召回。上篇文字我们说了增加新用
一起少女失踪案背后的非法拘禁团伙。
点击上方“Python爬虫与数据挖掘”,进行关注回复“书籍”即可获赠Python从入门到进阶共10本电子书今日鸡汤青山遮不住
华为手机抖音创作者服务指南:全方位解答创作疑问与技巧提升
华为手机抖音创作者服务指南:全方位解答创作疑问与技巧提升抖音作为当前更受欢迎的短视频平台吸引了众多创作者纷纷入驻。在创作
SEO天天说,到底什么是关键词(字)?
内容编辑应该重点注意内容优化、链接优化、关键字优化,今天主要来说说运营不可不掌握的基础技能SEO。一起来了解下什么是关键词
2019国考行测备考指导:排列组合中的四种常用方法进入阅读模式
2019国考行测备考指导:排列组合中的四种常用方法。更多2019国家公务员考试备考资料,欢迎访问中公国家公务员考试网。2019国考笔
大数据Hive Join连接查询
Hive join优化指的是通过调整Hive查询语句或者调整Hive配置参数来提高Hive join的性能。下面列举一些常见的Hive join优化方法:1
小黄 片怎样看才能发挥奇妙作用?研究发现——
Hello大家早上好,我是阿月。开始今天的科普之前,想问大家一个比较隐私的问题:你会看色情片吗?(方便的话可以投投票~)虽然部
90后的老叔叔老阿姨连美人鱼尾都没有,你还谈什么养生 小话题
大家好,我是90后老叔叔,我是朋克养生家族的一员,我为朋克养生带盐。立冬到了,意味着进入了寒冷的冬天,而养生保暖又一次的进
商丘师范学院智慧校园建设风采
  商丘师范学院智慧校园建设发展遵照“统筹规划、分步实施”“整体推进、突出重点”“需求驱动、务求实效”“立足高端、跨越发
丁真的笑容背后,是他们1000多个日夜的无声守护
近日藏族理塘小伙丁真因为一则短视频火了起来11月12日“藏族的康巴汉子有多帅”登上热搜收获4亿阅读量自那天以后丁真就成了微博
本企业新闻