python 爬虫笔记--简单静态

本文介绍如何通过分析网页源代码及请求方式来实现网页爬虫的编写,包括使用requests库发送请求、解析响应数据,以及如何利用XPath提取所需信息,并最终将数据存入数据库的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不太懂网页上的专业术语。。。

1.首先查看页面源代码:查看要爬取的数据是什么样的,在哪个标签下,能不能用xpath或者bs4取出来。

2.f12此页面,刷新查看页面响应时,能看到的信息。主要是消息头里的请求网址,请求方法,host,user-agent,cookie以及参数里的数据。及时查看响应,看出现的页面是否为自己想要的。




3.如果是post方法:要记录参数里的数据:postdata={},字典型写入看到的数据。如果是get方法,查看参数时,可以是params={},同样写入参数。

要爬取的页面网址就是请求网址。

4.写爬虫语句:

session=requests.session()
url=""
user_agent=""
headers={'User-Agent':user_agent,'Host':''}
#必要的参数也可以写上
postdata={}
params={}

html=session.post(url=url,headers=headers,cookies=cookies,data=postdata)
text=html.text
print text

html=session.get(url=url,headers=headers,cookies=cookies,params=params)

5.分析获取的网页,获取其中的数据。主要用了requests+xpath的组合,比较容易。实在不行就用正则表达式。

Tip:xpath 要获取标签中某属性值,比如a标签,可以用:x=tree.xpath('//a[@href=""]/@href')。

                 要获取标签之中的文本,可以用:x=tree.xpath('//a[@href=""]/text()')

6.数据存入数据库

简单的可以用pymssql模块

conn=pymssql.connect(数据库参数)

Tip:sql语句:要注意变量的应用,可以用%s代替。

### 使用 Python 编写爬虫抓取小红书笔记及其评论 #### 工具准备 为了实现这一目标,通常会用到 `requests` 或者更高级的工具如 `scrapy` 来发送 HTTP 请求,并利用 `BeautifulSoup` 或 `lxml` 解析 HTML 文档。对于动态加载的内容,则可能需要用到 Selenium 这样的浏览器自动化框架[^1]。 #### 数据采集过程 当涉及到像小红书这样的社交平台时,由于其页面内容大多由 JavaScript 动态渲染生成,因此直接解析静态网页源码往往无法获得所需的数据。此时可以考虑逆向工程 API 接口调用来获取原始 JSON 响应中的数据[^3]。 ```python import requests def fetch_notes(keyword, page=1): url = "https://www.xiaohongshu.com/fe_api/burdock/v2/search/notes" headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)', # 更多必要的请求头字段... } params = {'keyword': keyword, 'page': str(page)} response = requests.get(url=url, headers=headers, params=params) data = response.json() notes = [] for item in data['data']['items']: note_id = item['id'] title = item['title'] user_name = item['user']['nickname'] comments_url = f"https://www.xiaohongshu.com/api/sns/web/v1/comment/list?note_id={note_id}&cursor=" comment_response = requests.get(comments_url, headers=headers).json() comments = [{'content': cmt['content'], 'author': cmt['user']['nickname']} for cmt in comment_response['data']['comments']] notes.append({ 'id': note_id, 'title': title, 'username': user_name, 'comments': comments }) return notes ``` 这段代码展示了如何构建一个简单的函数来查询特定关键词下的笔记以及每条笔记的部分评论信息。需要注意的是,在实际应用中还需要处理分页、异常情况等问题[^2]。 #### 法律风险提示 值得注意的是,未经许可的大规模数据收集行为可能会违反服务条款甚至触犯法律。所以在开展此类活动之前应当仔细阅读网站的服务协议并咨询法律顾问的意见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值