weixin_38118954 2020-04-29 19:53 采纳率: 0%
浏览 2734

爬虫爬取的源代码和直接从网页打开的源代码不一样

爬虫爬取的源代码和直接从网页打开的源代码不一样

import re
import requests
from bs4 import BeautifulSoup
import webbrowser


def Get_web(url): #获取网页的HTML文档。这里web_info 显示的HTML文件和直接从网页查看源文件的都不一样了
    try:
        r = requests.get(url,headers={'user-agent':'Mozilla/5.0'})
        print("!")
        print(r.raise_for_status())
        r.encoding=r.apparent_encoding
        web_info=r.text
        print(web_info)
    except:
        print("error")
    return web_info

def Process_text(web_info):
    soup = BeautifulSoup(web_info,"html.parser")
    script = soup.find_all("script")
    print(script)
    Processed_text=[]
    return Processed_text

def Print_text(Processed_text):
    pass


def main():
    item="螺狮粉"
    for num in range(0,1):
        url="https://s.taobao.com/search?q=螺狮粉&s=0"
        webbrowser.open(url, new=0, autoraise=True)
        web_info = Get_web(url)
        Process_text(web_info)

main()

  • 写回答

2条回答 默认 最新

  • jxq1391967985 2020-04-30 09:55
    关注

    如果是静态页面抓取应该是和浏览器打开的一样的,动态加载的内容是不能直接抓取 的,比如嵌套的ifram或者Ajax异步请求动态填充的数据需要拿到请求连接再次请求来获取返回的数据

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘