6 v1 T ]! ]0 D& i现在,我们已经成功获取了页面内容并用 Beautiful Soup 解析了 HTML 结构。' d/ L7 ? k: \* ]' c3 P
9 } L' b9 F. k, g; `& i/ t; x4.2 提取标题和链接信息 # m6 T# p( o! O5 D' @5 u" W接下来,我们通过 soup.find_all('a') 方法找到网页中所有的 <a> 标签,表示链接。然后遍历这些链接,分别获取链接的 href 属性和文本内容,并将其打印出来:5 e/ F& }# I! w( q: w
& Z4 p# |* {1 z& b, S7 {' xfor link in soup.find_all('a'):+ i- A0 |& [% P, d3 l/ ]
print(link.get('href'), link.text) , X# J' T9 g4 c 4 ]% f- ^+ b# S$ Q7 p% p- y% w ^通过这段代码,我们可以逐个输出每个链接的 URL 和链接文本内容,从而实现对网页中链接的抓取和处理。+ t. x' W9 s; D5 [0 J2 p* R
_5 }3 \8 s* ~+ q/ z; n0 b T4.3 结合实际需求扩展功能 , i, x8 F8 y) [7 y6 ^6 m- D- l在实际应用中,我们可以根据需要扩展这个爬取程序,比如筛选特定条件下的链接、保存链接信息到文件、进一步深入爬取链接指向的页面内容等。通过不断完善和扩展功能,可以实现更加强大和灵活的网络爬虫程序,用于各种数据采集和分析任务。 5 N4 ~' }' F7 v4 W* V3 z* E2 l$ [* `" B9 T. k* i8 V
通过这个实战案例,我们可以更直观地了解如何结合使用 requests 库和 Beautiful Soup 进行网页内容的爬取和处理,为进一步开发复杂的网络爬虫程序提供了基础和参考。 . h* \1 U4 Q4 P' W/ p- q ! ?; Z5 [( Y* O; @7 O/ h五、高级应用:设置代理 IP2 ~, W% s: i( F/ O* s# x, ?
在网络爬虫开发中,有时需要使用代理 IP 来隐藏真实 IP 地址、绕过访问限制或实现其他特定需求。在 Python 中,可以通过设置代理 IP 来发送 HTTP 请求,让请求经过代理服务器转发到目标网站,从而实现匿名访问和反爬虫措施。 3 O* F# ^; I# J' B$ x! G2 G% y4 c& H7 p6 { S5 {! X3 A7 T% G7 @
5.1 设置代理 IP; u; f' v! W2 i
在上面的示例代码中,我们定义了一个代理 IP 字典 proxies,其中包括了 HTTP 和 HTTPS 协议的代理 IP 地址及端口号。通过将这个代理 IP 字典传递给 requests.get() 方法的 proxies 参数,可以让请求通过指定的代理 IP 发送出去:7 | z0 g+ s3 O! m" n5 X
5 J! V, Q! j4 M# E( ?& oproxies = { ' x- l! D* M E4 g# D2 q 'http': 'http://your_proxy_ip:port',4 e- x) f0 v7 r* N
'https': 'https://your_proxy_ip:port' 4 T# [, ^; n7 v1 }" C3 z}* C3 }; k$ i; O& c% Q
" i% O' N& G* R) }3 k$ z- T2 t# w
response = requests.get('https://www.example.com', proxies=proxies) ) |2 v, ?/ |# s) _8 `% j1 v+ V% J: u& ?6 V2 p6 q! D9 t. V0 ?6 c6 s
这样设置代理 IP 后,网络请求将会经过代理服务器转发出去,目标网站会认为请求来自于代理 IP 而不是真实 IP 地址。% n& ?/ D9 L/ B$ G: T
1 U8 g- C; j0 M5.2 代理 IP 的选择和使用) f* d4 B8 N5 [: d2 g
在实际使用代理 IP 时,需要注意以下几点: * c' I' {% ^" R+ n' E# n, N; k; z8 l2 @0 M' w- B- ]- H
选择可靠的代理 IP 服务提供商:确保代理 IP 的稳定性和可用性,避免使用被封禁或不稳定的代理 IP。# z# X( L0 U9 u
注意代理 IP 的隐私性:避免使用免费公开的代理 IP,因为这些代理 IP 很可能被滥用或监控,存在隐私泄露的风险。 / e# a- B7 D7 Q2 H定期检测代理 IP 的可用性:代理 IP 可能会失效或被封锁,需要定期检测代理 IP 的可用性并及时更换。 ! m9 g I) m, y9 F; `: k, q: F通过合理选择和使用代理 IP,可以有效提高网络爬虫的反反爬虫能力,避免被目标网站封禁 IP 或限制访问,从而顺利完成数据采集任务。 * e4 J2 a2 [! D5 h. d; @- |2 c' p6 C; a4 |' \+ ^7 w# P
4 R8 h5 T" } n9 H