首页 > 编程知识 正文

爬虫python代码(python有什么用)

时间:2023-05-04 08:29:09 阅读:183 作者:3826

来源:[微信官方账号]

Python技术

爬虫(在FOAF社区中也称为网络蜘蛛、网络机器人,更常被称为网络追逐者);它是根据特定规则自动捕获网络信息的程序或脚本。

如果我们把互联网比作一个大蜘蛛网,那台电脑上的数据就是蜘蛛网上一扇美丽的门,爬虫程序就是一个twdqz,它们沿着蜘蛛网抓取自己想要的美丽的门/数据。

爬虫的基本流程

00-1010网页请求和响应是请求和响应。

请求:用户通过浏览器(套接字客户端)将自己的信息发送到服务器(套接字服务器)。

响应:服务器接收请求,分析用户发送的请求信息,收到请求信息后返回数据(返回的数据可能包含其他链接,如image、js、css等。)

浏览器收到Response后,会分析其内容并显示给用户,而爬虫程序会在模拟浏览器发送请求后提取有用的数据,然后接收Response。

网页的请求与响应

请求发起是使用http库向目标站点发起请求,即发送请求。

Request对象的目的是与客户端交互,收集客户端的表单、Cookies和超链接,或者收集服务器的环境变量。

Request对象是客户端对服务器的请求,包括用户提交的信息和客户端的一些信息。客户端可以通过HTML表单或在网址后提供参数来提交数据。

然后服务器通过请求对象的相关方法获取这些数据。请求的各种方法主要用于处理客户端浏览器提交的请求中的参数和选项。

请求包括请求URL、请求头、请求体等。

请求方法:获取/发布

Request url: url是统一资源定位符的全称,是网页文档、图片、视频等。可以通过url唯一性来确定。

标头:用户代理:如果请求标头中没有用户代理客户端配置,服务器可能会将您视为非法用户;

cookie:cookie用于存储登录信息。

通常,爬虫会添加一个请求头。例如,抓取百度网站的数据请求信息如下:

00-1010爬虫程序发送请求后,如果服务器能够正常响应,就会得到一个Response,即响应;

响应信息包括:html、json、图片、视频等。如果没有错误,可以看到网页的基本信息。例如,获取网页响应内容的新程序如下:

导入请求

request _ headers={ 0

接受“:”文本

/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Cookie': 'BIDUPSID=088AEC1E85F75590978FB3643E131FBA; PSTM=1603682377; BD_UPN=12314753; BDUSS_BFESS=s877ukkvpiduup96naoovu0b94; __yjs_duid=1_04c448abb85383e7fef98fb64b828cce1611538687284; BAIDUID=C6421D51B2DBFF82716EE84B116A4EF8:FG=1; BDSFRCVID_BFESS=rqtOJeC62uF1xmOeQXfguRnVq2hi4t5TH6aINJzxxKt_7w4IsZNSEG0PVf8g0Kubuo1BogKKWeOTHx8F_2uxOjjg8UtVJeC6EG0Ptf8g0f5; H_BDCLCKID_SF_BFESS=tbCH_ItXfCP3JRnYb-Qoq4D_MfOtetJyaR0fKU7vWJ5TEJjz3tuabp_8Lx4H3bQNaHc3Wlvctn3cShPCy-7m-p_z-J6bK6jULNchMhrL3l02VMQae-t2ynLV5HAOW-RMW23U0l7mWPPWsxA45J7cM4IseboJLfT-0bc4KKJxbnLWeIJEjjChDTcyeaLDqbQX2COXsROs2ROOKRcgq4bohjPDynn9BtQmJJrtX4Jtb4oqE4FxQRoChlKJhJAO2JJqQg-q3R5lLt02VlQueq3vBP0Fbfv80x-jLIOOVn0MW-KVo-Jz5tnJyUPibtnnBnkO3H8HL4nv2JcJbM5m3x6qLTKkQN3T-PKO5bRu_CFbtC_hMD-6j6RV-tAjqG-jJTkjt-o2WbCQ-tjM8pcNLTDK5f5L2Mc9Klov5DvtbJrC-CosjDbmjqO1j4_PX46EhnvibN8fLKbY-McFVp5jDh34b6ksD-Rt5JQytmry0hvcQb5cShn9eMjrDRLbXU6BK5vPbNcZ0l8K3l02V-dpdwx-t2b6Qh-p52f6LjJbC83e; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; H_PS_PSSID=33425_33439_33258_33272_31660_33463_33459_33321_33264; BAIDUID_BFESS=983CAD9571DCC96332320F573A4A81D5:FG=1; delPer=0; BD_CK_SAM=1; PSINO=7; BDRCVFR[tox4WRQ4-Km]=mk3SLVN4HKm; BDRCVFR[-pGxjrCMryR]=mk3SLVN4HKm; BDRCVFR[CLK3Lyfkr9D]=mk3SLVN4HKm; BDRCVFR[dG2JNJb_ajR]=mk3SLVN4HKm; BD_HOME=1; H_PS_645EC=0c49V2LWy0d6V4FbFplBYiy6xyUu88szhVpw2raoJDgdtE3AL0TxHMUUFPM; BA_HECTOR=0l05812h21248584dc1g38qhn0r; COOKIE_SESSION=1_0_8_3_3_9_0_0_7_3_0_1_5365_0_3_0_1614047800_0_1614047797%7C9%23418111_17_1611988660%7C5; BDSVRTM=1', 'Host':'www.baidu.com', 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36'} response = requests.get('https://www.baidu.com/s',params={'wd':'帅哥'},headers=request_headers) #params内部就是调用urlencode print(response.text)

以上内容输出的就是网页的基本信息,它包含 html、json、图片、视频等,如下图所示:

Response 响应后会返回一些响应信息,例下:

1、响应状态

200:代表成功301:代表跳转404:文件不存在403:权限502:服务器错误

2、Respone header

set-cookie:可能有多个,是来告诉浏览器,把cookie保存下来

3、preview 是网页源代码

最主要的部分,包含了请求资源的内容,如网页html、图片、二进制数据等

4、解析内容

解析 html 数据:解析 html 数据方法有使用正则表达式、第三方解析库如 Beautifulsoup,pyquery 等

解析 json 数据:解析 json数据可使用 json 模块

解析二进制数据:以 b 的方式写入文件

5、保存数据

爬取的数据以文件的形式保存在本地或者直接将抓取的内容保存在数据库中,数据库可以是 MySQL、Mongdb、Redis、Oracle 等……

写在最后

爬虫的总流程可以理解为:蜘蛛要抓某个心灵美的大门-->沿着蛛丝找到心灵美的大门-->吃到心灵美的大门;即爬取-->解析-->存储;

在爬取数据过程中所需参考工具如下:

爬虫框架:Scrapy请求库:requests、selenium解析库:正则、beautifulsoup、pyquery存储库:文件、MySQL、Mongodb、Redis……

总结

今天的文章是对爬虫的原理做一个详解,希望对大家有帮助,同时也在后面的工作中奠定基础!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。