爬虫

爬虫:在互联网上抓取数据
通用爬虫——百度、360、搜狐、谷歌、必应等等(搜索引擎)
原理:
1.抓取网页
2.提取数据
3.数据处理
4.提供检索服务
通用爬虫工作过程(百度为例):
1.主动提交url
2.设置友情链接
3.百度会和DNS服务商合作,抓取新网站
检索排名:
竞价排名
根据pagerank值,访问量,点击量(SEO)
rbots.txt:口头协议,基本无需遵守
聚焦爬虫——根据特定的需求,抓取指定的数据
思路:
代替浏览器上网
网页的特点:
1.网页都有自己唯一的url
2.网页内容都是html结构的
3.使用的都是http、https协议
步骤:
1.获取URL
2.写程序,模仿浏览器访问url
3.解析内容,提取数据
1.使用到的库:
urllib、requests、bs4
2.解析网页内容的知识:
正则表达式、bs4、xpath、jsonpath
3.涉及到动态html:
selenium+phantomjs\chromeheadless
4.scrapy框架:
高性能框架使用
5.scrapy-redis组件:
redis,分布式爬虫
6.涉及到爬虫-反爬虫-反反爬虫:
UA、代理、验证码、动态页面等

百度翻译

import urllib.request
import urllib.parse

# 获取url地址
post_url="https://fanyi.baidu.com/sug"

# word = input("请输入您要查询的单词")
word="hony"
# 构建post表单数据
form_data = {
    "kw":word
}

# 发送请求过程
headers={
    "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}

# 构建请求对象
request = urllib.request.Request(url=post_url,headers=headers)
# 表单数据的处理
form_data=urllib.parse.urlencode(form_data).encode()
# 发送请求
response = urllib.request.urlopen(request,data=form_data)

print(response.read().decode())
post请求

 正则表达式替换文本内容

import re

s1="我喜欢身高为165的萝莉"

pattern = re.compile(r'\d+')

# 将165替换为165-5
def func(a):
    ret = int(a.group())-5
    return str(ret)
# print(pattern.findall(s1))
print(pattern.sub(func,s1))
正则替换

 

转载于:https://www.cnblogs.com/Mr-Feng/p/11251370.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值