写爬虫流程大邓
你好,我是大邓,下面是大邓使用写爬虫的步骤
Step步骤名解决的问题实现的功能
网页数据在哪里?
发现网址url规律
请求
如何获取网页数据?
先尝试使用成功访问一个url,拿到一个页面数据
从html中定位需要的数据
使用对这一个页面的网页数据进行解析
解析
从json中定位需要的数据
使用json 或 resp.json() 进行json网页数据解析
存储
如何存储数据
使用csv库将数据存储到csv文件中
整合
重复2-4
for循环对所有的url进行访问解析存储
我将按照步骤逐步提问你。可以开始了吗
可以的,我很乐意为您提供帮助。请继续提问。
Step1 网页数据在哪里?大邓
博客 使用的 page构建的,生成的网站是静态网站, 页面是HTML类型。
page1 https://hidadeng.github.io/blog/page/1/
page2 https://hidadeng.github.io/blog/page/2/
page3 https://hidadeng.github.io/blog/page/3/
......
请使用字符串方法,for循环,生成10页的网址。代码要简洁、易读。
您可以这样生成10页的网址:
base_url = "https://hidadeng.github.io/blog/page/{}/"
for i in range(1, 11):
url = base_url.format(i)
print(url)
这样的代码很简洁,很容易理解。您只需要在字符串中指定占位符,然后在方法中填充实际的数字即可。
Step2 如何获取网页数据?大邓
写一个完整的代码很难,但是可以把问题抽象成一个局部与整体的关系。先把重复出现的局部搞明白,再使用for循环把整体解决。现在我试图用的get方法访问
url =
注意要加入, 代码要简洁,有阅读性!
您可以这样使用库的get方法访问网页数据:
import requests
url = "https://hidadeng.github.io/blog/page/2"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36"
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
print(response.text)
else:
print("Failed to access the page with status code:", response.status_code)
这样的代码非常简洁,容易理解。您只需要指定请求的URL和请求头,然后调用.get方法即可。如果请求成功(即响应状态码为200),则打印响应的网页数据;否则,打印响应的状态码。
Step3 从html中定位需要的数据大邓
博客 是静态网站, 页面是HTML类型, 可以使用对这一个页面的网页数据进行解析。
由于 不能联网访问, 我将
发表回复