鱼C论坛

 找回密码
 立即注册
查看: 3886|回复: 10

[已解决]Python爬虫获取元素

[复制链接]
发表于 2022-10-28 16:54:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
网站元素如图,求问如何爬取股票代码000001
微信图片_20221028165022.png

  1. headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.52'}
  2. def downHtml(url):
  3.     res=requests.get(url,headers=headers)
  4.     #头等信息
  5.     html=res.text
  6.     return html
  7. html = downHtml("http://quote.eastmoney.com/stocklist.html#sz")

  8. soup = BeautifulSoup(html, 'html.parser', from_encoding='gbk')
  9. div = soup.find('div', attrs={'class': 'listview full'})
  10. lis = div.find_all('td')
  11. names = []
  12. for li in lis:
  13.     a = li.find('a')
  14.     name = a.text
  15.     names.append(name)
复制代码
最佳答案
2022-10-31 22:50:33
本帖最后由 cflying 于 2022-10-31 23:15 编辑

如果不想麻烦的话,通过浏览器模拟来爬出来,然后pandas也基本可以达到这个效果
这网站前几年都直接是静态表格,改成动态应该也是1年内的事情
  1. from playwright.sync_api import sync_playwright
  2. import pandas as pd

  3. with sync_playwright() as p:
  4.     browser = p.chromium.launch()
  5.     context = browser.new_context()
  6.     page = context.new_page()
  7.     page.goto('http://quote.eastmoney.com/center/gridlist.html')
  8.     tables=pd.read_html(page.content())
  9.     print(tables[0])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-10-28 23:06:52 | 显示全部楼层

回帖奖励 +5 鱼币

这个不能直接请求网页,这是动态请求的
你查看页面源代码就知道,里面没有你要的数据

你要打开开发者工具去抓包,直接搜你要的那个东西,可以找到你实际要请求的链接,它是一串JSON数据
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 05:29:41 | 显示全部楼层

回帖奖励 +5 鱼币

楼上正解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 20:05:30 | 显示全部楼层

回帖奖励 +5 鱼币

楼上厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-29 21:18:39 | 显示全部楼层

回帖奖励 +5 鱼币

楼上厉害
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-30 22:58:52 From FishC Mobile | 显示全部楼层

回帖奖励 +5 鱼币

可以用xpath或者css
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 00:07:37 | 显示全部楼层

回帖奖励 +5 鱼币

谢谢楼主分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-31 22:50:33 | 显示全部楼层    本楼为最佳答案   
本帖最后由 cflying 于 2022-10-31 23:15 编辑

如果不想麻烦的话,通过浏览器模拟来爬出来,然后pandas也基本可以达到这个效果
这网站前几年都直接是静态表格,改成动态应该也是1年内的事情
  1. from playwright.sync_api import sync_playwright
  2. import pandas as pd

  3. with sync_playwright() as p:
  4.     browser = p.chromium.launch()
  5.     context = browser.new_context()
  6.     page = context.new_page()
  7.     page.goto('http://quote.eastmoney.com/center/gridlist.html')
  8.     tables=pd.read_html(page.content())
  9.     print(tables[0])
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-1 05:55:49 | 显示全部楼层
谢谢楼主分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-1 10:55:57 | 显示全部楼层
只想领个币
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-1 22:09:16 | 显示全部楼层
谢谢楼主分享
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-26 02:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表