FB登录--requests方式

需求

工作中需要采集FB上的帖子信息,目前FB只有小组中的帖子支持公开采集,其它个人的帖子需要登录上FB后方能采集,而分析登录的过程发现,post的请求体中有一段加密的信息,如下所示:

  1. 请求的url为:https://www.facebook.com/
  2. 输入用户名密码后会跳转到 https://www.facebook.com/login/device-based/regular/login/?login_attempt=1&lwv=110
  3. 通过上面的url,可以发现是一个post请求,然后需要的参数为:
    在这里插入图片描述
    发现只有email参数,并没有发现password,但是通过分析第一步的url的html,可以发现这样一段:
    在这里插入图片描述

开始处理

# -*- coding: utf-8 -*-

import requests
import re
from bs4 import BeautifulSoup
from urllib.parse import urljoin

base_url = 'https://www.facebook.com'

user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) " \
             "Chrome/76.0.3809.87 Safari/537.36"
cookie = 'locale=en_US;'
headers = {
   
    'user-agent': user_agent,
    'accept-language': 'en-US,en;q=0.5',
    'cookie': cookie
}

session = requests.session()
session.headers.update(headers)
response = session.get(url=base_url
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个可以爬取京东商品信息并进行可视化的Python爬虫示例代码,其中包括了设置代理和随机User-Agent的代码: ```python import requests from bs4 import BeautifulSoup import pandas as pd import matplotlib.pyplot as plt from fake_useragent import UserAgent url = "https://search.jd.com/Search?keyword=Python&enc=utf-8&wq=Python&pvid=74c9e6f6d2c14a4aaf3d2c3fb0c2b6b7" # 设置代理和随机User-Agent proxies = { 'http': 'http://127.0.0.1:1080', 'https': 'http://127.0.0.1:1080' } headers = { 'user-agent': UserAgent().random } response = requests.get(url, headers=headers, proxies=proxies) soup = BeautifulSoup(response.text, "html.parser") product_list = [] for item in soup.select('li.gl-item'): p_name = item.select('.p-name em')[0].text.strip() p_price = item.select('.p-price i')[0].text.strip() product_list.append({'name': p_name, 'price': float(p_price)}) df = pd.DataFrame(product_list) df = df.drop_duplicates() # 去重 df = df.sort_values(by='price', ascending=False) # 按价格排序 # 可视化 plt.figure(figsize=(10, 8)) plt.bar(df['name'], df['price']) plt.xticks(rotation=90) plt.xlabel('商品名称') plt.ylabel('价格(元)') plt.title('京东Python商品价格分布') plt.show() ``` 该代码引入了fake_useragent库,用于生成随机的User-Agent,可以有效避免被反爬虫机制识别。同时,设置了一个本地代理,可以使用代理IP来访问京东,增加爬取成功的几率。 需要注意的是,代理IP的获取和使用需要谨慎,不要使用不可靠的代理,否则可能会导致爬取失败或者被封禁。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值