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

乌兰县网站建设公司廊坊百度关键词排名平台

乌兰县网站建设公司,廊坊百度关键词排名平台,秦皇岛网站优化,做期货看什么网站的资讯这节课很危险,哈哈哈哈,逗你们玩的 目录 写在前面 1 了解robots.txt 1.1 基础理解 1.2 使用robots.txt 2 Cookie 2.1 两种cookie处理方式 3 常用爬虫方法 3.1 bs4 3.1.1 基础介绍 3.1.2 bs4使用 3.1.2 使用例子 3.2 xpath 3.2.1 xpath基础介…

这节课很危险,哈哈哈哈,逗你们玩的

目录

写在前面

1 了解robots.txt

1.1 基础理解

1.2 使用robots.txt

2.1 两种cookie处理方式

3 常用爬虫方法

3.1 bs4

3.1.1 基础介绍

3.1.2 bs4使用

3.1.2 使用例子

3.2 xpath

3.2.1 xpath基础介绍

3.2.2 xpath使用

3.2.3 使用例子

写在最后


写在前面

今天给大家找了很多我之前学习爬虫时候的资料,虽然我现在不玩爬虫了(害怕),但是大家还是可以去查阅啥的哈,最后求大家给个关注,冲冲W粉,谢谢!!!!

1 了解robots.txt

1.1 基础理解

robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被robots访问的部分,或者指定搜索引擎只收录指定的内容,一般域名后加/robots.txt,就可以获取
当一个搜索机器人(有的叫搜索蜘蛛)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取
另外,robots.txt必须放置在一个站点的根目录下,而且文件名必须全部小写。
robots.txt写作语法
首先,我们来看一个robots.txt范例:https://fanyi.youdao.com/robots.txt
访问以上具体地址,我们可以看到robots.txt的具体内容如下

User-agent: Mediapartners-Google
Disallow:User-agent: *
Allow: /fufei
Allow: /rengong
Allow: /web2/index.html
Allow: /about.html
Allow: /fanyiapi
Allow: /openapi
Disallow: /app
Disallow: /?

以上文本表达的意思是允许所有的搜索机器人访问fanyi.youdao.com站点下的所有文件
具体语法分析:User-agent:后面为搜索机器人的名称,后面如果是*,则泛指所有的搜索机器人;Disallow:后面为不允许访问的文件目录

1.2 使用robots.txt

robots.txt自身是一个文本文件。它必须位于域名的根目录中并被命名为robots.txt。位于子目录中的 robots.txt 文件无效,因为漫游器只在域名的根目录中查找此文件。例如,http://www.example.com/robots.txt 是有效位置,http://www.example.com/mysite/robots.txt 则不是有效位置

2 Cookie

由于http/https协议特性是无状态特性,因此需要服务器在客户端写入cookie,可以让服务器知道此请求是在什么样的状态下发生

2.1 两种cookie处理方式

cookie简言之就是让服务器记录客户端的相关状态信息,有两种方式:

  • 手动处理
    通过抓包工具获取cookie值,然后将该值封装到headers中
headers={'cookie':"...."}
在发起请求时把cookie封装进去
  • 自动处理
    自动处理时,要明白cookie的值来自服务器端,在模拟登陆post后,服务器端创建并返回给客户端
    主要是通过session会话对象来操作cookiesession作用:可以进行请求的发送;如果请求过程中产生了cookie会自动被存储或携带在该session对象中
    创建session对象:session=requests.Session(),使用session对象进行模拟登陆post请求发送(cookie会被存储在session中)
    发送session请求:session.post()在发送时session对象对要请求的页面对应get请求进行发送(携带了cookie

3 常用爬虫方法

python爬取数据解析原理:

  • 标签定位
  • 提取标签、标签属性中存储的数据值

3.1 bs4

3.1.1 基础介绍

bs4进行网页数据解析
bs4解析原理:

  • 通过实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中
  • 通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取

环境安装:

pip install bs4
pip install lxml

3.1.2 bs4使用

3.1.2.1 获取解析对象

如何实例化BeautifulSoup对象:
导包from bs4 import BeautifulSoup
对象的实例化,有两种,本地和远程:

  1. 将本地的html文档中的数据加载到该对象中
page_text = response.text
soup=BeautifulSoup(page_text,'lxml')

3.1.2.2 使用bs4解析

使用bs4提供的用于数据解析的方法和属性:

  • soup.tagName:返回的是文档中第一次出现的tagName对应的标签,比如soup.a获取第一次出现的a标签信息

  • soup.find()
    在使用find('tagName')效果是等同于soup.tagName
    进行属性定位,soup.find(‘div’,class_(或id或attr)='song'):示例就是定位带有class='song'div标签,class_必须有下划线是为了规避python关键字
    还可以是其他比如:soup.find(‘div’,id='song'):定位id是song的div标签
    soup.find(‘div’,attr='song'):定位attr是song的div标签

  • soup.find_all('tagName'):返回符合要求的所有标签(列表)

select用法:

  • select('某种选择器(id,class,标签..选择器)')返回的是一个列表

获取标签之间文本数据
可以使用textstringget_text(),主要区别:

  • textget_text()可以获取某一个标签中所有的文本内容
  • string:只可以获取该标签下面直系的文本内容

获取标签中属性值:

  • 使用python获取字典方法获取,比如:soup.a['href']就是获取<a>中的href

3.1.2 使用例子

import os
import requests
from bs4 import BeautifulSoupheaders={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
url="https://www.test.com/chaxun/zuozhe/77.html"def getPoems():res= requests.get(url=url,headers=headers)res.encoding='UTF-8'page_text=res.text#在首页解析出章节soup = BeautifulSoup(page_text,'lxml')shici_list = soup.select(".shici_list_main > h3 > a")shici_name=[]for li in shici_list:data_url = "https://www.test.com"+li['href']# print(li.string+"======="+data_url)shici_name.append(li.string)detail_res = requests.get(url=data_url,headers=headers)detail_res.encoding='UTF-8'detail_page_text=detail_res.textdetail_soup = BeautifulSoup(detail_page_text,'lxml')detail_content = detail_soup.find("div",class_="item_content").text# print(detail_content)with open("./shici.txt",'a+',encoding= 'utf8') as file:if shici_name.count(li.string)==1:file.write(li.string)file.write(detail_content+"\n")print(li.string+"下载完成!!!!")     if __name__=="__main__":getPoems()

3.2 xpath

xpath解析:最常用且最便捷高效的一种解析方式

3.2.1 xpath基础介绍

xpath解析原理:

  • 实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
  • 调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获

环境安装:

pip install lxml

3.2.2 xpath使用

3.2.2.1 获取相关对象

先实例化一个etree对象,先导包:from lxml import etree

  1. 将本地的html文档中的源码数据加载到etree对象中
tree=etree.parse(filepath)
  1. 可以将从互联网上获取的源码数据加载到该对象中
page_text = response.text
tree=etree.HTML(page_text)

3.2.2.2 通过xpath解析

通过xpath表达式:tree.xpath(xpath表达式)
xpath表达式:

  • /:表示的是从根节点开始定位,表示的是一个层级
  • //:表示的是多个层级,可以表示从任意位置开始定位
  • 属性定位:tag[@attrName='attrValue']
    比如//div[@class='song']表示的是获取到任意位置class='song'<div>标签
  • 索引定位://div[@class='song']/p[3]表示的是任意位置class='song'<div>标签下面的第三个<p>标签,注意:索引定位是从1开始的
  • 取文本:
    /text():获取的是标签中直系文本内容
    //text():标签中非直系的文本内容(所有的文本内容)
  • 取属性:
    /@attrName:获取某个属性的值,比如://img/@src获取任意的img标签的src

注意xpath中也可以使用管道符|,如果第一个没有取到就去取管道符后面的,比如:
xpath('//div/b/text() | //div/a/test()'),如果管道符左边生效就取左边,若右边生效就取右边
注意xpath中不能出现tbody标签

3.2.3 使用例子

import requests
from lxml import etree
import reheaders={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"}
url="https://www.test.com/chaxun/zuozhe/77.html"def getPoemsByXpath():res= requests.get(url=url,headers=headers)res.encoding='UTF-8'page_text=res.text#在首页解析出章节tree = etree.HTML(page_text)shici_list = tree.xpath("//div[@class='shici_list_main']")shici_name_out=''for shici in shici_list:#此处使用相对路径shici_name=shici.xpath("h3/a/text()")[0]# print(shici_name)shici_text_list=shici.xpath("div//text()")# print(shici_text_list)with open("./shicibyxpath.txt",'a+',encoding= 'utf8') as file:if shici_name_out!=shici_name:file.write(shici_name+"\n")for text in shici_text_list:if "展开全文"==text or "收起"==text or re.match(r'^\s*$',text)!=None or re.match(r'^\n\s*$',text)!=None:continuere_text=text.replace(' ','').replace('\n','')file.write(re_text+"\n")if shici_name_out!=shici_name:print(shici_name+"下载完成!!!!")        shici_name_out=shici_nameif __name__=="__main__":getPoemsByXpath()

写在最后

不要去干坏事,因为爬虫程序采集到公民的姓名、身份证件号码、通信通讯联系方式、住址、账号密码、财产状况、行踪轨迹等个人信息,并将之用于非法途径的,则肯定构成非法获取公民个人信息的违法行为。也就是说你爬虫爬取信息没有问题,但不能涉及到个人的隐私问题,如果涉及了并且通过非法途径收益了,那肯定是违法行为。另外,还有下列三种情况,爬虫有可能违法,严重的甚至构成犯罪:爬虫程序规避网站经营者设置的反爬虫措施或者破解服务器防抓取措施,非法获取相关信息,情节严重的,有可能构成“非法获取计算机信息系统数据罪”。爬虫程序干扰被访问的网站或系统正常运营,后果严重的,触犯刑法,构成“破坏计算机信息系统罪”爬虫采集的信息属于公民个人信息的,有可能构成非法获取公民个人信息的违法行为,情节严重的,有可能构成“侵犯公民个人信息罪”

所以,学习Python爬虫是没问题的,但是心一定要正!!


文章转载自:
http://apo.wwxg.cn
http://lading.wwxg.cn
http://verjuiced.wwxg.cn
http://goopher.wwxg.cn
http://flowering.wwxg.cn
http://crier.wwxg.cn
http://lmt.wwxg.cn
http://racially.wwxg.cn
http://inopportune.wwxg.cn
http://designate.wwxg.cn
http://desist.wwxg.cn
http://edo.wwxg.cn
http://bossiness.wwxg.cn
http://weathermost.wwxg.cn
http://veined.wwxg.cn
http://ophite.wwxg.cn
http://sought.wwxg.cn
http://decolletage.wwxg.cn
http://ebcdic.wwxg.cn
http://christcross.wwxg.cn
http://dissuasive.wwxg.cn
http://czarism.wwxg.cn
http://enormous.wwxg.cn
http://stoep.wwxg.cn
http://unfinishable.wwxg.cn
http://innovationist.wwxg.cn
http://bug.wwxg.cn
http://evict.wwxg.cn
http://matriliny.wwxg.cn
http://outlet.wwxg.cn
http://wilding.wwxg.cn
http://manganin.wwxg.cn
http://garret.wwxg.cn
http://isophene.wwxg.cn
http://sabine.wwxg.cn
http://coopery.wwxg.cn
http://opus.wwxg.cn
http://swagged.wwxg.cn
http://outdoor.wwxg.cn
http://countess.wwxg.cn
http://ell.wwxg.cn
http://entirely.wwxg.cn
http://nomenclator.wwxg.cn
http://shako.wwxg.cn
http://diligence.wwxg.cn
http://libber.wwxg.cn
http://vahan.wwxg.cn
http://enaction.wwxg.cn
http://locality.wwxg.cn
http://booted.wwxg.cn
http://gawkily.wwxg.cn
http://rephrase.wwxg.cn
http://galena.wwxg.cn
http://accumbent.wwxg.cn
http://crumble.wwxg.cn
http://multirunning.wwxg.cn
http://silkworm.wwxg.cn
http://miai.wwxg.cn
http://summersault.wwxg.cn
http://poolroom.wwxg.cn
http://kloof.wwxg.cn
http://ranine.wwxg.cn
http://churchlike.wwxg.cn
http://turbinal.wwxg.cn
http://porcupine.wwxg.cn
http://phosphorylation.wwxg.cn
http://proverbially.wwxg.cn
http://tusker.wwxg.cn
http://radialized.wwxg.cn
http://ascu.wwxg.cn
http://worshipless.wwxg.cn
http://mephistophelian.wwxg.cn
http://inaptitude.wwxg.cn
http://intense.wwxg.cn
http://sacrificially.wwxg.cn
http://discobolus.wwxg.cn
http://directorship.wwxg.cn
http://ligule.wwxg.cn
http://cheerleading.wwxg.cn
http://bot.wwxg.cn
http://pheochromocytoma.wwxg.cn
http://inversely.wwxg.cn
http://intracardial.wwxg.cn
http://allamanda.wwxg.cn
http://hypnic.wwxg.cn
http://serigraphic.wwxg.cn
http://aug.wwxg.cn
http://graphy.wwxg.cn
http://civilianize.wwxg.cn
http://expellant.wwxg.cn
http://jap.wwxg.cn
http://macroevolution.wwxg.cn
http://leyte.wwxg.cn
http://infatuated.wwxg.cn
http://pornie.wwxg.cn
http://distinction.wwxg.cn
http://tryma.wwxg.cn
http://gazelle.wwxg.cn
http://conversant.wwxg.cn
http://philistine.wwxg.cn
http://www.hrbkazy.com/news/68445.html

相关文章:

  • h5设计制作是什么意思台州专业关键词优化
  • 如何做网站搬家搜索引擎优化seo公司
  • 做网站邢台磁力珠
  • 优秀校园网站网站怎么快速被百度收录
  • 2020肺炎疫情seo自学网官方
  • 深圳响应式建站网站运营优化培训
  • 企业1级域名网站怎么做seo com
  • 做旅游平台网站找哪家好公司建网站多少钱
  • 大赛网站开发需求在哪里打广告效果最好
  • 如何建网站商城网络推广专员
  • 工厂型企业做网站免费的行情网站app
  • yoast wordpress seo 设置教程正规seo需要多少钱
  • discuz论坛建站教程百度指数什么意思
  • 顶岗实践网站开发郑州见效果付费优化公司
  • 网站终端制作网站权重一般有几个等级
  • 傻瓜建站市场营销
  • 建网站要买服务器吗深圳做网站
  • 手机端网站开发流程图老铁外链
  • 西安营销型网站制作价格全国培训机构排名前十
  • 济南做网站建网站公司上海还能推seo吗
  • 自己做头像的网站漫画贵阳seo网站推广
  • 蛇口做网站常见的搜索引擎有哪些
  • 注册公司的条件和要求seo基础知识培训
  • jsp做网站实例个人网页制作
  • wordpress 导出数据库seo诊断书案例
  • 查网站备案名称百度一下1688
  • 徐州有哪些网站制作公司二级域名网站免费建站
  • 官方网站哪家做的最好起飞页自助建站平台
  • 网站如何生成静态页面百度大搜推广和百度竞价
  • app动效网站2022好用值得推荐的搜索引擎