python抓取表格
㈠ 如何用python爬取静态表格
问题出在
1、基本的循环没有搞很清楚,那条语句该放循环里面,还是外面,提问者没有搞清楚。
2、出了问题,不会加print 语句调试。
# coding:utf-8
import urllib.request
import bs4 as bs
import re
import string
import csv
import time
csvfile = open('test.csv', 'a')
writer = csv.writer(csvfile)
def earse(strline, ch):
left = 0
right = strline.find(ch)
while right != -1:
strline = strline.replace(ch, '')
right = strline.find(ch)
return strline
url = r""
resContent = urllib.request.urlopen(url).read()
soup = bs.BeautifulSoup(resContent, "html.parser")
tab = soup.findAll('table')
tab = tab[2]
tds = tab.findAll('tr')
for trIter in tds:
tdIter = trIter.findAll('td')
templist = []
for item in tdIter:
templist.append(item.string.strip())
print(item.string.strip())
if templist[0:4]:
writer.writerow(
[time.asctime(time.localtime(time.time()))] + templist[0:4])
csvfile.close()
㈡ 抓取表格 python
你好:
建议你放到mdb里面;
利用Python很方便的;
㈢ python如何用urllib抓取网页中表格的第二及后续页面
手边没现来成代码,就不贴了,源告诉你思路:
虽然url里看着地址都一样,其实是不一样的,需要F12分析后台代码;
然后有两种方式,
就是F12分析代码后爬取真实地址;
用py模拟敲击“下一页”。
具体代码都不麻烦,度娘很好找。
㈣ 求教如何通过python抓取网页中表格信息
看你抓的是静态还是动态的了,这里是静态表格信息的代码:
importurllib2
importre
importstring
defearse(strline,ch):
left=0
right=strline.find(ch)
whileright!=-1:
strline=strline.replace(ch,'')
right=strline.find(ch)
returnstrline
url=r"http://www.bjsta.com"
resContent=urllib2.urlopen(url).read()
resContent=resContent.decode('gb18030').encode('utf8')
soup=BeautifulSoup(resContent)
printsoup('title')[0].string
tab=soup.findAll('table')
trs=tab[len(tab)-1].findAll('tr')
fortrIterintrs:
tds=trIter.findAll('td')
fortdIterintds:
span=tdIter('span')
foriinrange(len(span)):
ifspan[i].string:
printearse(span[i].string,'').strip(),
else:
pass
㈤ python怎么提取excle表格数据
通过实例来说明,在Excle表格中有数据和文字结合的内容
把Excle表格中的数据,复制——粘贴到word中。
按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”
然后在查找的内容的位置输入:[0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
点击"全部替换",数据中所有的数字全部删除掉了。
那么,如何提取Excle数据中的非数字部分?也是通过“使用通配符”来实现。
把原来的数据复制到word文档中去,按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”,和上述的步骤一样。
在查找的内容的位置输入:[!0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
这样,数据中所有的非数字数字全部删除掉了。
这里,介绍一下数据中包含 字符和数字的情况,这里不需要使用通配符功能,也可以通过一种更便捷的方法来实现。(只剩下数字部分的实现方法)
例如,有写好的数据,如图所示:
同样的操作步骤,把原来的数据复制到word文档中去。
按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签。这里不需要使用通配符功能。
在查找的内容的位置输入:^$,替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
只剩下数字部分的实现方法。
㈥ python 怎么获取docx表格中内容
from docx import Document
doc=Document(r'd:zzz3.docx')
tb=doc.tables[0]
for r in tb.rows:
for c in r.cells:
print(c.text)
㈦ python 如何读取 excel 指定单元格内容
1、首先打开电脑上编写python的软件。
㈧ python爬虫表格里面的数据应该怎样抓
贴一个例子你看,如何使用看文档
import urllib2
from bs4 import BeautifulSoup
import csv
url = ('http://nflcombineresults.com/nflcombinedata.php?year=2000&pos=&college=')
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)
table = soup.find('table')
f = csv.writer(open("2000scrape.csv", "w"))
f.writerow(["Name", "Position", "Height", "Weight", "40-yd", "Bench", "Vertical", "Broad", "Shuttle", "3-Cone"])
# variable to check length of rows
x = (len(table.findAll('tr')) - 1)
# set to run through x
for row in table.findAll('tr')[1:x]:
col = row.findAll('td')
name = col[1].getText()
position = col[3].getText()
height = col[4].getText()
weight = col[5].getText()
forty = col[7].getText()
bench = col[8].getText()
vertical = col[9].getText()
broad = col[10].getText()
shuttle = col[11].getText()
threecone = col[12].getText()
player = (name, position, height, weight, forty, bench, vertical, broad, shuttle, threecone, )
f.writerow(player)
㈨ Python怎么抓取表格 正则怎么写
看了你抄的正则表达式。思路基本上是正则的。不过有些小问题。我建议你初学的时候分两步搜索。
先找到所有的tr,再在tr里找td
exp1=re.compile("(?isu)<tr[^>]*>(.*?)</tr>")
exp2=re.compile("(?isu)<td[^>]*>(.*?)</td>")
htmlSource=urllib.urlopen("http://cn-proxy.com/").read()
forrowinexp1.findall(htmlSource):
print'==============='
forcolinexp2.findall(row):
printcol,
这里(?isu)意思就是,要搜索时,包含回车换行,包含汉字,包含空格。
你多试试。找一个正则表达式验证工具,比如kodos。 然后看看python自带的那个正则表达式教程就可以了。