import requests from bs4 import BeautifulSoup import pprint import json def download_all_htmls(): """下载所有列表页面的HTML,用于后续的分析""" htmls = [] for idx in range(24): url = f"https://www.utusan.com.my/page/{idx+1}" print("craw html:", url) r = requests.get(url) if r.status_code != 200: raise Exception("error") htmls.append(r.text) return htmls htmls = download_all_htmls() print(htmls[0])为这段代码添加一个伪装浏览器爬取,防止反爬代码
时间: 2024-03-07 12:52:28 浏览: 59
可以在请求头中添加 `User-Agent` 字段来伪装浏览器,以防止被反爬代码检测到。具体代码如下:
```
import requests
from bs4 import BeautifulSoup
import pprint
import json
def download_all_htmls():
"""下载所有列表页面的HTML,用于后续的分析"""
htmls = []
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
for idx in range(24):
url = f"https://www.utusan.com.my/page/{idx+1}"
print("craw html:", url)
r = requests.get(url, headers=headers)
if r.status_code != 200:
raise Exception("error")
htmls.append(r.text)
return htmls
htmls = download_all_htmls()
print(htmls[0])
```
在这个例子中,我们添加了一个 `headers` 字典,它包含一个 `User-Agent` 字段,它模拟了一个常见的浏览器的用户代理字符串。这个字符串告诉服务器我们正在使用一个浏览器来访问网站,而不是一个脚本。
阅读全文