第一次学会使用正则表达式爬网页,纪念下,下一步学习动态网页爬取
来源:互联网 发布:ubuntu samba图形界面 编辑:程序博客网 时间:2024/06/07 14:26
import pandas as pdimport requestsfrom bs4 import BeautifulSoupimport re#获取保险链接以及名字url='http://www.bocommlife.com/sites/main/index.htm'page=requests.get(url,timeout=15)soup=BeautifulSoup(page.text,'lxml')p1=re.compile(r'''<option value="(.*万能*.*?)</option>''')data1=p1.findall(page.text)data1name_list={}for i in data1: data2=i.split('1">') name_list[re.compile(r'columnid=(\d*?)&page').findall(i)[0]]=re.compile(r'">(.*)').findall(i)[0]name_listjiaoyin=pd.DataFrame()test=[]for j in name_list.keys():#正则表达式初次使用 jiaoyin_data=pd.DataFrame() #url='http://www.bocommlife.com/sites/main/list/jggg_ls.htm?columnid='+j+'&page=1' url='http://www.bocommlife.com/sites/main/twainindex/jggg.htm?columnid='+j+'&page=1' page=requests.get(url,timeout=15) page.text p_url=re.compile(r"href=(.*?)>查看价格公") #page.text url_num=(re.compile('\d+').findall(p_url.findall(page.text)[0]))[0] url2='http://www.bocommlife.com/sites/main/list/jggg_ls.htm?columnid='+str(url_num)+'&page=1' page=requests.get(url2,timeout=15) p_num=re.compile(r'共(\d+)页') num=int(p_num.findall(page.text)[0]) print(num) test.append(url) for i in range(1,num+1): url='http://www.bocommlife.com/sites/main/list/jggg_ls.htm?columnid='+url_num+'&page='+str(i) page=requests.get(url,timeout=15) soup=BeautifulSoup(page.text,'lxml') content=soup.find_all(class_='xwzx-list') p1=re.compile(r'<th>(.*?)</th>') columns=p1.findall(str(content))[:-1] p2=re.compile(r'<td>(.*?)</td>') data=p2.findall(str(content)) result_all=[] result=[] for i in range(len(data)): k=data[i] if i%4<3: result.append(k) if i%4==3: result.append(k) result_all.append(result) result=[] result_all=pd.DataFrame(result_all) result_all.columns=columns result_all['产品名称']=[name_list[j]]*len(result_all) jiaoyin_data=jiaoyin_data.append(result_all) print(result_all) jiaoyin=jiaoyin.append(jiaoyin_data)jiaoyin.to_csv('交银.csv')
阅读全文
0 0
- 第一次学会使用正则表达式爬网页,纪念下,下一步学习动态网页爬取
- 利用Matlab正则表达式爬取网页数据
- Java正则表达式爬取网页,贴出完整代码
- java爬取网页内容 简单例子(1)——使用正则表达式
- Python爬取网页信息时,经常使用的正则表达式及方法
- C#爬取动态网页
- 爬取网页动态数据
- 爬取动态的网页。
- 爬取网页动态内容
- 学习python爬取网页
- Node.js 动态网页爬取 PhantomJS 使用入门
- python爬取百度搜索动态网页
- selenium+ phantomjs实现动态网页爬取
- selenium+ Phantomjs爬取动态网页
- python爬取静态和动态网页
- Scrapy+phantomjs爬取动态网页数据
- python + Scrapy 爬取动态网页
- 正则表达式的应用—爬取网页上的email地址
- Vim命令合集
- active mq
- ICE 3.7
- hadoop HA启动时 两个namenode节点都是standby,解决办法
- JAVA字符串格式化-String.format()的使用
- 第一次学会使用正则表达式爬网页,纪念下,下一步学习动态网页爬取
- 转载 向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读
- elasticsearch中 refresh 和flush区别
- linux 怎么挂载磁盘
- Object Detection--的一个好的对比总结文章
- SSL P2819 I Got a Matrix!
- myecplise显示行号
- 第12章 bitmap的加载和cache
- Misha and Changing Handles CodeForces